| 
	
		
		
			| Передвижение персонажа |  |  |  | 
| 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 не знаю,может сработает(я не очень понял,как твоя система работает) |  |  |  |  |  
 |