Передвижение персонажа
| |
nekroo98 | Дата: Среда, 07 Марта 2012, 02:40 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Как сделать передвижение обьекта на 100 пикселей вверх, по нажатию кнопки? Тоесть, тыкнул 1 раз кнопку, отпустил её, а обьект движется и останавливается через 100 пикселей. И не прыжок, а плавно?
|
|
| |
GameMix | Дата: Среда, 07 Марта 2012, 09:12 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| nekroo98, пример. Думаю, там и без комментов можно разобраться.
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
nekroo98 | Дата: Среда, 07 Марта 2012, 22:33 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| Благодарствую.
Добавлено (07.03.2012, 22:33) --------------------------------------------- ещё такой момент. есть обьект, в обьекте событие "клик ЛКМ" в клике кусок кода v:=1; при клике переменная v не изменяет значения. переменная v прописывается при создании обьекта, со значением 0. Где косяк?
Сообщение отредактировал nekroo98 - Среда, 07 Марта 2012, 22:34 |
|
| |
LunarPixel | Дата: Среда, 07 Марта 2012, 22:40 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| nekroo98, а кликаешь то на объект в котором событие мыши используешь?
|
|
| |
stinger | Дата: Среда, 07 Марта 2012, 22:44 | Сообщение # 5 |
участник
Сейчас нет на сайте
| Поставь глобальное событие мыши
|
|
| |
nekroo98 | Дата: Четверг, 08 Марта 2012, 03:59 | Сообщение # 6 |
почетный гость
Сейчас нет на сайте
| Quote nekroo98, а кликаешь то на объект в котором событие мыши используешь? именно
С глобальной вроде работает как надоДобавлено (08.03.2012, 03:59) --------------------------------------------- Еще вопрос:
Сделал я в событии Draw прорисовку хелсбара(здоровье), теперь не отображаются спрайты, ни при дввижении(анимация, включается при нажатии кнопки) ни простой, стоячий. Простой спрайт сделал так же в событии draw, но так не катит. Как вернуть анимацию при движении?
И ещё, можете обьяснить, почему глобальное нажатие мышки работает в моем случае, а простое - нет? На будущее. И разница в чем? Ато мало - ли баги всплывут, или ещё чего...
Сообщение отредактировал nekroo98 - Среда, 07 Марта 2012, 23:22 |
|
| |
GameMix | Дата: Четверг, 08 Марта 2012, 05:28 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| Quote (nekroo98) Сделал я в событии Draw прорисовку хелсбара(здоровье), теперь не отображаются спрайты, ни при дввижении(анимация, включается при нажатии кнопки) ни простой, стоячий. Простой спрайт сделал так же в событии draw, но так не катит. Как вернуть анимацию при движении? В событии draw:Code draw_sprite(спрайт,-1,x,y); Второй аргумент функции обозначает номер кадра спрайта. -1 показывает, что будет отображаться не конкретный кадр спрайта, а все кадры по очереди, если скорость анимации > 0. Значит, анимация будет воспроизводиться. Можно менять скорость анимации: Code image_speed = вещественное_число_от_0_до_1
Quote (nekroo98) И ещё, можете обьяснить, почему глобальное нажатие мышки работает в моем случае, а простое - нет? На будущее. И разница в чем? Ато мало - ли баги всплывут, или ещё чего... Глобальное нажатие кнопки мыши срабатывает при клике мышью в любом месте окна игры, а простое нажатие - только при клике по спрайту объекта, в котором стоит это событие.
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
nekroo98 | Дата: Четверг, 08 Марта 2012, 05:45 | Сообщение # 8 |
почетный гость
Сейчас нет на сайте
| Ясненько, разобрался.
Вот только глобальное нажатие мыши меня не устраивает, нужен именно клик на обьекте, для его выбора, а он хз почему не кликается.
Вот исходник
Сообщение отредактировал nekroo98 - Четверг, 08 Марта 2012, 05:49 |
|
| |
GameMix | Дата: Четверг, 08 Марта 2012, 07:08 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| nekroo98, не смущает, что в create Orc_Berserk'а хотелось присвоить vibor значение "99", а при рисовании показывает значение "0"? GML - не Pascal и не Delphi. vibor = 99; - так нужно присваивать значение переменной. Ошибка присвоения везде, поэтому чтобы не мучаться, можно воспользоваться кнопкой "Search for a string" вверху редактора кода. Работа с поиском и заменой. А как правильно присваивать значение переменной здесь хорошо расписано.
Steel Standoff - 2D аркада. Мои статьи
Сообщение отредактировал GameMix - Четверг, 08 Марта 2012, 07:23 |
|
| |
nekroo98 | Дата: Четверг, 08 Марта 2012, 14:14 | Сообщение # 10 |
почетный гость
Сейчас нет на сайте
| Да я запомнил суть кода, не переживай
На счет присваивания - я просто проверял, вроде и так и так работает, но вам виднее, исправлюсь.
vibor:=99; при рисовании показывает именно 99, потому я и подумал что разницы нет.Добавлено (08.03.2012, 14:14) --------------------------------------------- Ну ок, подправил я код. Но проблема то не решена. Почему не срабатывает нажатие ЛКМ по спрайту?
|
|
| | |
nekroo98 | Дата: Среда, 14 Марта 2012, 15:54 | Сообщение # 12 |
почетный гость
Сейчас нет на сайте
| -
Как сделать запрешение на нажатие клавиш, пока не закончится исполнение кода?
В данном случае, пока обьект не передвинется на 50 пикселей
Добавлено (14.03.2012, 13:05) --------------------------------------------- Еще проблемка есть много обьектов, у каждого есть параметр hp, по нажатию ЛКМ у первого считываются все параметры и записываются в обьект rar, потом выбираем кого атаковать, жмакаем alt, по альту записываются параметры второго обьекта и запускается скрипт расчета урона. Все отлично. только не меняется здоровье обьектов. rar.mob1.hp или mob1.hp не обрабатывается. (hp не записывается в rar, оно остается в самих обьектах). что можно сделать? или как сделать запись hp из rar обратно обьекту, именно тому из которого взяли? есть идентефикаторы обьектов какие-то может?Добавлено (14.03.2012, 15:54) --------------------------------------------- Вот исходник, посмотрите пожалуста, мне нужна ваша помощь. Там не очень много кода но он без комментариев. Если что спрашивайте, заодно может покритикуете.
Сообщение отредактировал nekroo98 - Среда, 14 Марта 2012, 15:52 |
|
| |
stinger | Дата: Среда, 14 Марта 2012, 18:05 | Сообщение # 13 |
участник
Сейчас нет на сайте
| Поставь и дальше пиши что хочешь
|
|
| |
nekroo98 | Дата: Среда, 14 Марта 2012, 18:17 | Сообщение # 14 |
почетный гость
Сейчас нет на сайте
| это ты вообще к чему? Если про запрещение нажатия клавиш, то скажи лучше какая команда ЗАПРЕЩАЕТ их, или кусок кода там. Куда впихнуть то я уж придумаю
Сообщение отредактировал nekroo98 - Среда, 14 Марта 2012, 18:23 |
|
| |
stinger | Дата: Среда, 14 Марта 2012, 18:33 | Сообщение # 15 |
участник
Сейчас нет на сайте
| попробуй использовать триггеры
|
|
| |
GameMix | Дата: Среда, 14 Марта 2012, 18:41 | Сообщение # 16 |
старожил
Сейчас нет на сайте
| Quote (nekroo98) Как сделать запрешение на нажатие клавиш, пока не закончится исполнение кода? Пусть сначала клавиша будет заблокирована:Code mozno=false; // нельзя нажать клавишу В конце выполнения кода:Code mozno=true; // можно нажать клавишу В событии нажатия на клавишу проверяем:Code if mozno { // действия при срабатывании нажатия клавиши }
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
nekroo98 | Дата: Среда, 14 Марта 2012, 18:52 | Сообщение # 17 |
почетный гость
Сейчас нет на сайте
| да уж, все проще оказывается
А по вычитанию поинтов здоровья что посоветуете?
Например rar.mob.health считывается нормально, но ко многим обьектам его не сделаешь(
|
|
| |
stinger | Дата: Среда, 14 Марта 2012, 19:03 | Сообщение # 18 |
участник
Сейчас нет на сайте
| ты бы кинул исходник(мне казалось,что нельзя две точки ставить)
|
|
| |
nekroo98 | Дата: Четверг, 15 Марта 2012, 20:17 | Сообщение # 19 |
почетный гость
Сейчас нет на сайте
| дык а ссылка выше для чего? Добавлено (14.03.2012, 19:34) --------------------------------------------- Ну нет, там просто mob1.hp , точка одна. Просто health это такая глобальная чтоли переменая, цветом выделяется в коде. В rar.mob1 записывается название обьекта, по задумке, но на самом деле ничего туда не записывается, при выводе показывает что mob1 = 0. Как быть, шоделоть? Добавлено (15.03.2012, 20:17) --------------------------------------------- как вообще во всяких играх считывается здоровье у разных обьектов? хоть на том же ГМмэйкере? Например есть игра наемники карлслина, как то так называется. Может кто видел её исходники?
|
|
| |
stinger | Дата: Четверг, 15 Марта 2012, 21:33 | Сообщение # 20 |
участник
Сейчас нет на сайте
| в объект rar попробуй поставить событие press alt не знаю,может сработает(я не очень понял,как твоя система работает)
|
|
| |
|