Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Помогите разобраться с движением объекта
Помогите разобраться с движением объекта
anton68Дата: Вс, 06 Марта 2011, 10:40 | Сообщение # 1
Любопытный
Сижу за разработкой игры аналог русской рыбалки.
Треба ваша подсказка.
Уже реализовал, заброс, глубину пруда, изменение поплавка в зависимости от глубины и уровня поплавка на лески, поклевку и вываживание.

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

У меня сейчас реализовано через таймер в 300 мс. т.е. после подсечки рыбы включается таймер который проверяет нажатия левой правой кнопки мыши. правая - тянуть катушкой, левая держать удочкой, и запускает хаотичное движение поплавка по полигону. Если нажата ПКМ то отключается хаотичное движение поплавка и включается движение поплавка к берегу. Если правая отпущена, включается опять хаотичное движение поплавка. Если нажата ЛКМ то хаотичное движение поплавка замедляется до определенного минимума, если отпускается скорость хаотичного движения увеличиваться.

Надеюсь хоть чуть чуть понятно о чем веду речь :)

Так вот мне как то необходимо избавиться от хаотичного движения поплавка и заменить его движением от берега по случайной траектории, причем ограничить пределы движения верхней линией полигона, а он неровен.

Сейчас хаотичное движение поплавка реализовано так:

Code
получаю место расположение поплавка
GetObjectInfo "float_1" "Left" "[popX]"
GetObjectInfo "float_1" "Top" "[popY]"
:ranXY
.определяю случайные числа для координат движения
Random "990" "[ranX]"
Random "550" "[ranY]"
. так как вода на картинке имеет неровный вид высчитываю координаты движения по оси X  для сравнения потом с координатами по оси Y чтобы поплавок не уплыл за пределы воды на землю
Math "[ranX]/1,3" "0" "[ranX1]"
.если полученные случайные числа находиться в пределах воды
IfEx "[ranX]>25 and [ranX]<990 and [ranY]>260 and [r.anY]<550 and [ranX1]>[ranY]"
.выполняю движения поплавка по заданным координатам
MoveObjectAlongPath "float_1" "[ranX],[ranY]" "50" "Wait+Center" ""
.если случайные числа находятся за пределами воды      
Else
.формирую случайные числа снова
GotoLine ":ranXY"
EndIf

Соответственно его повторение связанно с работой упомянутого выше таймера в 300 мс.

Посоветуйте как задать подобное, нужное мне движение, хотя бы где что копать?
И еще возможна реализация всего процесса вываживания рыбы без использования таймера в 300 мс.? (просто боюсь что когда навешаю все остальные фишки предусмотренные стилем такой игры, он будит сильно ее грузить, или нет ?)

p.s.
вопрос к админам, нельзяли гденть тут реализовать тему посвященную этой разработке. чтобы как то не размазывать мои вопросы по форуму, которую я думаю постепенно будут только рости (Хотя в этой программе я уже давно не новичок, правда и совсем не профи), а искать поддержки кроме как тут негде. К томуже вдруг кому еще интересна подобная идея, и ее разработкой можно заниматься командно.

Прикрепления: 8493836.png (332.6 Kb)


Сообщение отредактировано
anton68 - Вс, 06 Марта 2011, 10:49
 
СообщениеСижу за разработкой игры аналог русской рыбалки.
Треба ваша подсказка.
Уже реализовал, заброс, глубину пруда, изменение поплавка в зависимости от глубины и уровня поплавка на лески, поклевку и вываживание.

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

У меня сейчас реализовано через таймер в 300 мс. т.е. после подсечки рыбы включается таймер который проверяет нажатия левой правой кнопки мыши. правая - тянуть катушкой, левая держать удочкой, и запускает хаотичное движение поплавка по полигону. Если нажата ПКМ то отключается хаотичное движение поплавка и включается движение поплавка к берегу. Если правая отпущена, включается опять хаотичное движение поплавка. Если нажата ЛКМ то хаотичное движение поплавка замедляется до определенного минимума, если отпускается скорость хаотичного движения увеличиваться.

Надеюсь хоть чуть чуть понятно о чем веду речь :)

Так вот мне как то необходимо избавиться от хаотичного движения поплавка и заменить его движением от берега по случайной траектории, причем ограничить пределы движения верхней линией полигона, а он неровен.

Сейчас хаотичное движение поплавка реализовано так:

Code
получаю место расположение поплавка
GetObjectInfo "float_1" "Left" "[popX]"
GetObjectInfo "float_1" "Top" "[popY]"
:ranXY
.определяю случайные числа для координат движения
Random "990" "[ranX]"
Random "550" "[ranY]"
. так как вода на картинке имеет неровный вид высчитываю координаты движения по оси X  для сравнения потом с координатами по оси Y чтобы поплавок не уплыл за пределы воды на землю
Math "[ranX]/1,3" "0" "[ranX1]"
.если полученные случайные числа находиться в пределах воды
IfEx "[ranX]>25 and [ranX]<990 and [ranY]>260 and [r.anY]<550 and [ranX1]>[ranY]"
.выполняю движения поплавка по заданным координатам
MoveObjectAlongPath "float_1" "[ranX],[ranY]" "50" "Wait+Center" ""
.если случайные числа находятся за пределами воды      
Else
.формирую случайные числа снова
GotoLine ":ranXY"
EndIf

Соответственно его повторение связанно с работой упомянутого выше таймера в 300 мс.

Посоветуйте как задать подобное, нужное мне движение, хотя бы где что копать?
И еще возможна реализация всего процесса вываживания рыбы без использования таймера в 300 мс.? (просто боюсь что когда навешаю все остальные фишки предусмотренные стилем такой игры, он будит сильно ее грузить, или нет ?)

p.s.
вопрос к админам, нельзяли гденть тут реализовать тему посвященную этой разработке. чтобы как то не размазывать мои вопросы по форуму, которую я думаю постепенно будут только рости (Хотя в этой программе я уже давно не новичок, правда и совсем не профи), а искать поддержки кроме как тут негде. К томуже вдруг кому еще интересна подобная идея, и ее разработкой можно заниматься командно.


Автор - anton68
Дата добавления - 06 Марта 2011 в 10:40
PeterДата: Вс, 06 Марта 2011, 11:15 | Сообщение # 2
Админ NeoBook
anton68, не имея перед глазами хотя бы нужной части вашего исходника, давать какие-либо конретные советы сложно.
Попробуйте посмотреть вот этот пример.
Мне думается, что в нём вы найдете желаемое.

Quote (anton68)
нельзяли гденть тут реализовать тему посвященную этой разработке

О какой именно "разработке" идет речь?


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщениеanton68, не имея перед глазами хотя бы нужной части вашего исходника, давать какие-либо конретные советы сложно.
Попробуйте посмотреть вот этот пример.
Мне думается, что в нём вы найдете желаемое.

Quote (anton68)
нельзяли гденть тут реализовать тему посвященную этой разработке

О какой именно "разработке" идет речь?

Автор - Peter
Дата добавления - 06 Марта 2011 в 11:15
anton68Дата: Вс, 06 Марта 2011, 11:22 | Сообщение # 3
Любопытный
Quote
О какой именно "разработке" идет речь?

игра "тамбовская рыбалка" :) - ну я с Тамбова просто...

Quote

anton68, не имея перед глазами хотя бы нужной части вашего исходника, давать какие-либо конретные советы сложно.

Да надо выложить вообще исходник того что у меня есть, если тогда получиться реализовать конкретную тему то выложу...
 
Сообщение
Quote
О какой именно "разработке" идет речь?

игра "тамбовская рыбалка" :) - ну я с Тамбова просто...

Quote

anton68, не имея перед глазами хотя бы нужной части вашего исходника, давать какие-либо конретные советы сложно.

Да надо выложить вообще исходник того что у меня есть, если тогда получиться реализовать конкретную тему то выложу...

Автор - anton68
Дата добавления - 06 Марта 2011 в 11:22
DEMBELДата: Вс, 06 Марта 2011, 11:24 | Сообщение # 4
Наш дизайнер
можете создать тему когда будет что обсуждать (исходники или готовый проект). Пока для каждого вопроса создаем отдельную тему, называя ее информативно и по сути проблемы (например, расчет траекторий при движении обьекта" а не "диалоги о рыбалке" и пр.), чтобы инфа пригодилась и другим людям и была легко доступна для поиска.

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениеможете создать тему когда будет что обсуждать (исходники или готовый проект). Пока для каждого вопроса создаем отдельную тему, называя ее информативно и по сути проблемы (например, расчет траекторий при движении обьекта" а не "диалоги о рыбалке" и пр.), чтобы инфа пригодилась и другим людям и была легко доступна для поиска.

Автор - DEMBEL
Дата добавления - 06 Марта 2011 в 11:24
anton68Дата: Вс, 06 Марта 2011, 11:43 | Сообщение # 5
Любопытный
DEMBEL,Хорошо, так и сделаю... Если не устравивает то как я назвал тему, пожалуйста переименуйте в соответствии с содержанием темы.... Peter, спасибо за пример с луной, интересно, только моя проблем в первую очередь связанна с тем что в моем случае границы движения объекта ограничиваются кривой. Вот если бы можно было определить где заканчиваются границы полигона относительно оси Y на которой расположен объект движения.
Quote

можете создать тему когда будет что обсуждать (исходники или готовый проект)

Готового проекта нет, но исходники уже есть, я вообщем то и спрашиваю можно ли создать тему посвященную моей разработки и там выложить исходники, если да то где? а если нет, ну нет так нет, значит буду в преть формулировать вопросы в соответствии с вашими пожеланиями.


Сообщение отредактировано
anton68 - Вс, 06 Марта 2011, 11:47
 
СообщениеDEMBEL,Хорошо, так и сделаю... Если не устравивает то как я назвал тему, пожалуйста переименуйте в соответствии с содержанием темы.... Peter, спасибо за пример с луной, интересно, только моя проблем в первую очередь связанна с тем что в моем случае границы движения объекта ограничиваются кривой. Вот если бы можно было определить где заканчиваются границы полигона относительно оси Y на которой расположен объект движения.
Quote

можете создать тему когда будет что обсуждать (исходники или готовый проект)

Готового проекта нет, но исходники уже есть, я вообщем то и спрашиваю можно ли создать тему посвященную моей разработки и там выложить исходники, если да то где? а если нет, ну нет так нет, значит буду в преть формулировать вопросы в соответствии с вашими пожеланиями.

Автор - anton68
Дата добавления - 06 Марта 2011 в 11:43
DEMBELДата: Вс, 06 Марта 2011, 12:09 | Сообщение # 6
Наш дизайнер
можете "вытащить" проблемную часть из проекта и сделать отдельную демку для неё. Так будет всем понятнее в чем дело и чего вы хотите, быстрее получите помощь.

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениеможете "вытащить" проблемную часть из проекта и сделать отдельную демку для неё. Так будет всем понятнее в чем дело и чего вы хотите, быстрее получите помощь.

Автор - DEMBEL
Дата добавления - 06 Марта 2011 в 12:09
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Помогите разобраться с движением объекта
  • Страница 1 из 1
  • 1
Поиск: