| 
| minepecraft | Дата: Понедельник, 08 Июня 2015, 14:33 | Сообщение # 1 |  | участник Сейчас нет на сайте | Привет,хелперы!Помогите мне пожалуйста,решил сделать рывок в 2D платформере,как его можно реализовать?Я думаю так: В объявить игроку переменную dash=false и dashmax=50.
 В step:
 if keyboard_check_pressed(ord('D')) &&keyboard_check_pressed(любая другая клавиша) && !dash
 {
 dash=true
 }
 
 if dash
 {
 x+=1
 }
 
 if dash=dashmax
 {
 dash=false
 }
 
 Я конечно уверен,что здесь много ошибок,но..в общем надеюсь на Вашу помощь!Спасибо заранее!!!!!!
 
 
   |  |  |  |  | 
| 
| EfimovMax | Дата: Понедельник, 08 Июня 2015, 14:35 | Сообщение # 2 |  |   заслуженный участник Сейчас нет на сайте | Должно работать. Не забудь обнулить длину: 
 
 Код  if dash=dashmax
 {
 dash=false
 dash=0
 }
 
 Текущий проект: The Experiment ☭
 
 Выпущенные проекты Steam:
 Princess.Loot.Pixel.Again
 Princess.Loot.Pixel.Again x2
 Dungetris
 |  |  |  |  | 
| 
| minepecraft | Дата: Понедельник, 08 Июня 2015, 15:44 | Сообщение # 3 |  | участник Сейчас нет на сайте | Да,спасибо!А еще я щас в шоку сижу!Запустил свою игру в game maker и тут бац:Системе не удается найти указанный путь C:/ ********** Кто знает может?
 
 Добавлено (08 июня 2015, 14:44)
 ---------------------------------------------
 Ошибка исчезла,но снова проблема,не разберусь,снова напишу в эту тему!Не закрывайте ее пока,если можно!Спасибо.
 
 Добавлено (08 июня 2015, 14:45)
 ---------------------------------------------
 И я разобрался,тему можно закрыть!Спасибо ,EfimovMax,плюсик поставил!
 
 Добавлено (08 июня 2015, 15:27)
 ---------------------------------------------
 Короче,я решил сделать даш при нажатии на лшифт и на кнопку либо D либо A,с движением влево у меня все получилось,а вот вправо.В общем такая фигня:я уже что только не перепробовал,но сделал так:
 Объявил герою переменные:
 dash1=false
 dash2=false
 dashmax=100
 dashs=0
 При нажатии на шифт:
 if keyboard_check(ord('D')) && global.skill2=true (Это как-бы скилл героя,если он есть,то можно это дело провернуть)&& !place_free(x,y+1)
 {
 dash1=true
 global.skill2=false(отключаем этот скилл)
 alarm[1]=90 (Перезарядка скилла 3 с)
 }
 
 if keyboard_check(ord('A')) && global.skill2=true (Это как-бы скилл героя,если он есть,то можно это дело провернуть)&& !place_free(x,y+1)
 {
 dash2=true
 global.skill2=false(отключаем этот скилл)
 alarm[1]=90 (Перезарядка скилла 3 с)
 }
 
 Теперь в степ:
 if dash1=true
 {
 x+=5
 dashs+=5
 }
 
 if dash2=true
 {
 x-=5
 dashs+=5
 }
 
 if dash1=dashmax or dash2=dashmax
 {
 dash1=false
 dash2=false
 }
 
 Помогите решить проблему,почему-то вправо герой просто долго едет без остановки,а влево делает быстрый даш и останавливается.
 Добавлено (08 июня 2015, 15:44)---------------------------------------------
 Проблема решена,можно снова закрывать тему,я сделал так,если dashs>dashsmax-1
 {
 dash1=false
 dash2=false
 dashs=0
 }
 Не знаю почему,но я опять слишком долго сижу в компе и мозги уже не думают,а ошибки очевидны!
 
 
   
 
 Сообщение отредактировал minepecraft - Понедельник, 08 Июня 2015, 15:31 |  |  |  |  | 
| 
| Gc-SupeR | Дата: Вторник, 09 Июня 2015, 10:55 | Сообщение # 4 |  |   был не раз Сейчас нет на сайте | if keyboard_check_pressed(ord('D')) &&keyboard_check_pressed(любая другая клавиша) && !dash {
 dash=true
 }
 
 if dash
 {
 x+=1
 }
 
 if dash=dashmax
 {
 dash=false правильно
 }
 
 *Ни шагу назад*
 |  |  |  |  |