Construct Community

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Construct Community » Вопрос-ответ » Альтернативная камера слежения.


Альтернативная камера слежения.

Сообщений 1 страница 20 из 37

1

Доброй ночи!  :flag:

Такой вот вопрос.

Перед вами рисунок на котором изображён персонаж и красный контейнер (контейнер по умолчанию невидим). Задача такая, когда мы двигаемся - камера слежения стоит на месе. Когда мы косаемся красного контейнера и двигаемся, только тогда камера начинает двигатся в нашем напрвлении (в направлении движения контейнера).

http://s54.radikal.ru/i143/0907/f5/71ad845b6e9a.jpg

Точнее:

Когда мы двигаемся вверх и когда персонаж коснулся верхней грани контейнера - камера слежения начинает двигатся вверх.
Когда мы двигаемся влево и когда персонаж коснулся левой грани контейнера - камера начинает двигатся вместе с персонажем влево. и т.д.

Вопрос: как это можно реализовать? И как можно сделать чтобы в игре была возможность переключать этот контейнир (камеру слежения) на другово персонажа?

P.S. Я смотрела исходник "RTS движение курсора по карте при помощи мыши" - и сделала тоже самое. Окозалось, что этот метод годится только для курсора, так как при движении по диагонали - эран начинает сильно дергатся. В общем помогите кто чем может...

2

Не уверен, но может поможет: Условие>>>Событие:

Условие: Любое условие(в вашем случае расстояние объекта от края экрана)>>>Событие: System>Scroll to X: ScrollX+50*TimeDelta

P.S. Я обычно плавное перемещение камеры делаю таким способом.

P.P.S. Понятное дело, что тут только для Х показано, но для Y по аналогии 8-)

P.P.P.S. И никаких прямоугольников ненадо, можно задать расстояние основного объекта до края экрана :flag:

P.P.P.P.S. А переключение легко реализовать в этом случае дополнительной переменной.

P.P.P.P.P.S. А еще в этом случае экран не дергается абсолютно! Короче все плюсы на лицо 8-)

Отредактировано georgethreed (2009-08-01 08:32:01)

3

georgethreed

Спасибо, но я не оч поняла вот это:

georgethreed написал(а):

(в вашем случае расстояние объекта от края экрана)

Это что за условие? 8-)

4

Попробуй мой пример, может подойдет ;)

5

Что бы узнать координаты границ экрана нужно:
Insert new condition

Выбрать System

Выбрать Values Compare

Теперь выделяем любую строчку Value и кликаем на system ,
там есть Get X left(right)(top)(bottom) of screen.

Это они и есть.

6

Попробуй мой пример, может подойдет

Похоже ты не понял что нужно:-) Если я правильно понял, то искуственный интелект не нужен, нужна система скролинга. Я правильно понял?

georgethreed

Спасибо, но я не оч поняла вот это:
georgethreed написал(а):

    (в вашем случае расстояние объекта от края экрана)

Это что за условие?

Выше правильный ответ:-)

Отредактировано georgethreed (2009-08-01 18:30:48)

7

Я дико извиняюсь, но у меня что то не получается. Я всё сделала как вы написали, но объект не двигается...

Вот скриншот:

http://s48.radikal.ru/i121/0908/ca/3b581bcc0f9a.jpg

Вот файл сцены: scroll.cap

P.S. Вообще не смотря на всю прочитаную мною документацию на Wiki, я по прежнему Новичёк в Construct'е и многих вещей не знаю. Поэтому, если не сложно - пишите пожалуйста как можно более подробнее.

Заранее спасибо!  :flirt:

8

Yani-X

Слушай ты как всегда полон оригинальными идеями.  :cool:
Я поробовала сделать как у тебя и у меня получился неплохой результат. Вот: scroll_rts

Сейчас подожу ответа от georgethreed и поэксперементирую с этими 2-мя вариантами в игре. Посмотрю какой из способов мне подойдёт.

P.S. Yani-X откуда ты черпаешь такие неординарные решения?...  :)  Лови +

9

Вот примерчик где это реализовано ... Только сделал на старом констракте. Новый нет средств скачать

Скачать файл Screen.cap

Отредактировано Lexin (2009-08-01 21:00:40)

10

Я дико извиняюсь, но у меня что то не получается. Я всё сделала как вы написали, но объект не двигается...

не все, в твоем скриншоте нет условия относящегося к объекту. Нужно сравнивать позицию объекта и координаты края экрана, тогда будет двигаться. А вообще скачай пример Lexina, потому как если он делал по моей схеме и у него работает, значит он сделал так, как я говорю. Проверь:-)

11

Mary Jane написал(а):

Спасибо, но я не оч поняла вот это:

Мы станем великими девелоперами, когна начнем понимать о чем пишет georgethreed  :playful:

Mary Jane написал(а):

P.S. Yani-X откуда ты черпаешь такие неординарные решения?

Ну я бы не сказал что оно прям уж такое неординарное :blush:  Вариантов для решения любой роблемы,
даже жизненной, всегда очень много, даже если кажется на первый взгляд что их почти нет, и порой
когда что то не получается в конструкторе, приходится использовать всю свою логику и хитрость по
максимуму, и тогда все получается, вот и к системе профилей я сумел подобрать ключ  :glasses:

12

Lexin

Lexin написал(а):

Вот примерчик где это реализовано

Скачала примерчик - это то что нужно!

georgethreed

georgethreed написал(а):

в твоем скриншоте нет условия относящегося к объекту

Дык я не сразу сообразила, что это и к объекту тоже относится. Я думала что эти события относятся только к окну.

Кароче ребята Большое вам всем спасибо за помощь, вы мне очень помогли!  :flag:  Ловите плюсы!

P.S. Сейчас оба способа перенесу в игру и буду тестировать. http://s52.radikal.ru/i137/0908/b5/e821d2856435.gif

13

Мы станем великими девелоперами, когна начнем понимать о чем пишет georgethreed  :playful:

Это намек, что я очень плохо объясняю, или что мои методы далеки от совершенства? :dontknow:
:D

14

georgethreed написал(а):

Это намек, что я очень плохо объясняю, или что мои методы далеки от совершенства?

Твои методы супер  :cool:  Просто ты уже достиг определенного уровня в конструкторе и мыслишь немного иначе
чем тот кто знает его хуже тебя, а потому и объясняешь так как тебе понятно  :writing: вобщем это была щютка,
ты молоток!

15

Фуф, Ну пасиба, я спакоян 8-)  А объяснять попробую подругому(может получится :D )

P.S. В конструкте я недавно совсем(в феврале 2009 первый раз скачал его), просто раньше програмил на разных фигнях начиная от HTML(если можно это назвать програмингом :D ) и до Delphi, короче получил немного програмерских навыков. А в конструкте их очень удобно применять, хотя и не все.

Отредактировано georgethreed (2009-08-02 00:10:14)

16

Lexin написал(а):

Что бы узнать координаты границ экрана нужно:
Insert new condition
Выбрать System
Выбрать Values Compare
Теперь выделяем любую строчку Value и кликаем на system,
там есть Get X left(right)(top)(bottom) of screen.
Это они и есть.

Lexin написал(а):

Вот примерчик где это реализовано ... Только сделал на старом констракте. Новый нет средств скачать

Твой пример удалил с хостинга... http://i987.photobucket.com/albums/ae352/constructgame/JD.gif, а мне он оч нужен... Ты мог бы его сделать ещё раз? Плиззз!! http://i987.photobucket.com/albums/ae352/constructgame/fl.gif

На всякий случай, продублировала сообщение тебе в личку.....

P.S. Прозьба: заливайте пожалуйста свои примеры на хостинги, на которых файлы не удаляются... (например на 4shared.com).

17

Перезалил снова
Вот : http://dump.ru/file/3871101
Там два примера: старый(точный) - камера следит за персом точно.
                           и новый(плавный) - в нем камера перемещается плавно, мне он больше нравится.

Mary Jane написал(а):

P.S. Прозьба: заливайте пожалуйста свои примеры на хостинги, на которых файлы не удаляются... (например на 4shared.com).

Ок, В следующий раз буду заливать на другой

18

Lexin

Огромное тебе спасибо!!! http://i987.photobucket.com/albums/ae352/constructgame/gl.gif

Лови плюсы!!! http://i987.photobucket.com/albums/ae352/constructgame/ft.gif

19

Lexin

Lexin написал(а):

старый(точный) - камера следит за персом точно.

А не легче просто поставить галочку на "center view on me"?

Lexin написал(а):

и новый(плавный) - в нем камера перемещается плавно, мне он больше нравится.

А это не плохо, особенно когда поставить спрайту поведение "mouse" - можно использовать в стратегиях=)

20

S1mon написал(а):

А не легче просто поставить галочку на "center view on me"?

:) если поставить"Center view on me", то спрайт будет постоянно по центру экрана, а в этом способе - спрайт сможет отходить на некоторое растояние от центра, и только после этого камера начинает двигаться


Вы здесь » Construct Community » Вопрос-ответ » Альтернативная камера слежения.


создать свой форум бесплатно