Странное начисление урона игроку от врагов
|
|
Erop47 | Дата: Среда, 23 Августа 2017, 00:58 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Здрасте, темой ниже я спрашивал как сделать отбрасывание персонажа, при соприкосновении с противником. Сейчас я понял, что когда персонаж напрямую, двигаясь горизонтально, сталкивается с противником, то тот откидывается и получает 3 единицы урона. Но если он сталкивается с врагом прыгая на него сверху, то урон наносится невообразимо много, что игрок умирает сразу же. Вот код, прописанный в функции столкновения с противником:
Код
//отбрасывание персонажа if (dir = 2){ //проверка разворота персонажа, чтобы он отскакивал в правильную сторону if (not place_free(x-1,y+1)) { vspeed = -3; hspeed = -2; noat = 1; //это чтобы игрок не смог атаковать пока падает от толчка mov = 1; //это чтобы игрок не смог двигаться пока падает от толчка sprite_index = player_hurt; image_speed=0; } if (sprite_index=player_hurt) and (image_index=2) { image_speed=0; sprite_index=player_stay; mov = 0; }} else //тут идентично, но отбрасывание в другую сторону { if (not place_free(x+1,y+1)) { vspeed = -3; hspeed = +2; noat = 1; mov = 1; sprite_index = player_hurt_invert; image_speed=0.1; } if (sprite_index=player_hurt_invert) and (image_index=2) { image_speed=0; sprite_index=player_stay_invert; mov = 0; }} //получение урона hp -= 3; if (hp < 1){room_restart()};
Почему так происходит - я не знаю.
еще есть проблема, которая то появляется при работе с кодом, то исчезает - ошибка при тесте, что-то вроде "no sound deice detected". Бесит очень, из-за нее тестировщик два раза включается
I love old games. Old games love me!
|
|
| |
ДанилаСтержнев | Дата: Среда, 23 Августа 2017, 01:59 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| Цитата Erop47 ( ) Почему так происходит - я не знаю.
Потому что игрок получает урон ПОКА он в состоянии столкновения с врагом со скоростью 3хп * 30 кадров в секунду
Перед тем как "делать" игру, лучше было бы сделать пробную по простейшему уроку
Красочная сюжетно ориентированная игра-головоломка
Сообщение отредактировал ДанилаСтержнев - Среда, 23 Августа 2017, 02:03 |
|
| |
Erop47 | Дата: Среда, 23 Августа 2017, 02:17 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| окей, теперь я знаю о механике этой функции больше. Как мне это исправить, как сделать чтобы урон наносился единожды?Добавлено (23 августа 2017, 02:12) ---------------------------------------------
Цитата ДанилаСтержнев ( ) в состоянии столкновения с врагом со скоростью 3хп * 30 кадров в секунду о таких мелочах в "простейших" урока не говорят, увы( хотя, было бы очень полезноДобавлено (23 августа 2017, 02:17) --------------------------------------------- ладно, я исправил эту ошибку, спасибо) но проблема с "no sound device detected" все равно мне непонятна. что может вызвать эту ошибку?
I love old games. Old games love me!
|
|
| |
Интернет | Дата: Среда, 23 Августа 2017, 19:41 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| Цитата Erop47 ( ) "no sound device detected" "Звуковое устройство отключено" Копай в сторону звуковухи, либо в настройках GM что-то не то.
Сообщение отредактировал Интернет - Среда, 23 Августа 2017, 19:42 |
|
| |
AAAlex | Дата: Среда, 23 Августа 2017, 19:54 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Цитата Erop47 ( ) проблема с "no sound device detected Проверьте частоту дискретизации в настройках звуковой карты. поставьте там качество 16 бит 44100гц. Отключите все возможные "украшалки звука", что-то вроде max sound, super bass, eax.
|
|
| |
Erop47 | Дата: Четверг, 24 Августа 2017, 17:53 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| я понимаю, что мне пишет ошибка. но эта ошибка появляется случайно при работе с кодом. буквально можно поменять значение какой-либо переменной и ошибка исчезнет, потом снова появится, снова исчезнет. еще я думал, что это ошибка из-за того, что я использую телевизор, как второй монитор, и звук настроен исходить именно из него. но даже если отключить монитор ошибка все равно не проходит.
и да, если что, никаких звуков в игре нет.
I love old games. Old games love me!
|
|
| |