Воскресенье, 17 Ноября 2024, 22:30

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

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

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