В событии шага бота добавил действие "direction=point_direction(x,y,hero.x,hero.y)". Теперь, если я добавлю несколько ботов в игру, то при столкновении друг с другом они безнадежно застревают и не двигаются(в настройках установил маску и solid).
Ну и правильно. Все они двигаются к герою, сталкиваются и застревают. Пока писал, в голову пришла такая мысля: Попробуй сделать им отскок. При столкновении друг с другом. Вроде бы должно помочь... Код примерно такой:
Хотябы клавишами 1, 2 ! А лутче колесиком ! понели???
нет я нипонел воще абисни нармална
Насколько я знаю, олбанский на форуме запрещен. В create задаешь переменную wearon. При нажатии клавиши 1, wearon=1. Аналогично с клавишей 2. В step прописываешь:
Code
if(wearon=1) { *тут действия для ближнего боя*; } else { *а тут для дальнего*; }
Ku6opk, чтобы игра затянула людей, не зацикливайся пока на графе, а сделай затягивающую атмосферу. Я приведу пример, They Hunger (мод Half-Life)
Не, майнкрафт рулит.
Люди, не набрасывайтесь на бедного новичка. Мне бы тоже было неприятно. Особенно это относится к т-щу shizofren'y. Ku6opk, для геймдевелопера(пусть даже и в будущем) забрасывать проект на половине готовности - плохой признак. Лучше уж доделай его как-нибудь(хотя бы, а вообще можно довольно много фич прикрутить), а потом принимайся за следующий, более простой. ------------------------------------ Все вышесказанное - чисто мое ИМХО. И следовать совету или нет - дело самого автора. Посоветуйте, где скачать VB6 :C
и еще один странный вопрос за место x и y что должно стоять если корды постоянно меняются
Если событие стоит в step или в draw, то переменные х и у меняются вместе с движением) Так и пиши.
Quote (аТнОтХоАн)
if position_meeting(x,y,object_index) if mouse_check_button(mb_left) draw_sprite(sprite0,0,x,y)
Я в отместку нашел ошибку у тебя) Если в событии draw есть хоть что-то, то свой собственный спрайт объект перестает отрисовывать. Поэтому надо кое-что добавить:
Code
if position_meeting(x,y,object_index) if mouse_check_button(mb_left) draw_sprite(sprite0,0,x,y) // 0 - номер кадра, здесь 0 - первый кадр спрайта, другие кадры не будут рисоваться. draw_sprite(sprite_index,-1,x,y);