Четверг, 14 Ноября 2024, 21:11

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Хелп!Помогите реализовать рывок.
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 правильно
}


*Ни шагу назад*
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг