мне нужно через код...причём длина 8 не постоянна и может изменяться
Добавлено (20.09.2011, 18:47) --------------------------------------------- горизонтальная линия это земля, а диогональная это траектория палёта пули....так вот мне нужно вычеслить на какой высоте каждый кадр находиться пуля
предлагаем темы и всевозможные фичи для игры сейчас))) т.к. я хочу сделать полностью пример а потом комментировать его...разделяя на разные группы уроков >
Transced, это всего лишь первый урок....дальше я разберу много всяких "штучек" и конечно по вашему желанию разберу отдельные темы те что касаются ТДС)) >
тут я буду выкладывать уроки создания игр в жанре ТДС и так начнём
в этом уроке мы разберём как заставить нашего ГГ двигаться и стрелять и так открываем ГМ если он у вас не открыт. Создаём три объекта с именами o_player, o_bull, o_weapon!!! Для первых двух объектов создаём и рисуем спрайты... Спрайт для объекта o_player должен выглядеть как человек или робот с оружием повёрнутый в право лицом, а для объекта o_bull должен выглядеть как пуля от пистолета....ну или что то в этом вроде... Вот мы всё создали и нарисовали, что же дальше?? А дальше будем прописывать код для всего этого!!! Сперва создадим переменные в объекте o_player, в событии Create
Code
hp=100 //жизни ГГ friction=1 //сила трения strelba=1 //разрешение стрельбы weapon=1 //определяет какое оружия у ГГ в руках damage_wpn=random(50) // урон оружия ammo_wpn=12 //кол-во патрон speed_bull=30 //скорость пули speed_wpn=5 //промежуток между выстрелами
Далее переходим в событие Step и пишем там вот это
Code
//передвижение ГГ if keyboard_check(ord("A")) //если нажата кнопка А { x-=3 //то сдвинуть ГГ в лево на 3 px } if keyboard_check(ord("D")) //аналогично с остольными)) { x+=3 } if keyboard_check(ord("W")) { y-=3 } if keyboard_check(ord("S")) { y+=3 }
//поворот ГГ direction=point_direction(x,y,mouse_x,mouse_y) //задаёт директорию с направлением в сторону миши image_angle=direction //задаёт направление изображения такоеже как и директория
всё ГГ готов к бою, но его оружие и пули ещё нет...так давайте плеснём бензинчику в костёр)) открываем объект o_weapon и заходим в событие Create и прописываем там всего оду переменную
Code
fire_wpn=o_player.speed_wpn //тоже отвечает за скорость выстрела(они взаимосвязаны с speed_wpn)
дальше идём в Step и пишем там это
Code
//производиться таймер выстрела fire_wpn-=1 if fire_wpn<=0 { fire_wpn=0 }
после чего создаём событие Glob Left Button и пишем там вот эти строки кода
Code
if o_player.strelba=1 and o_player.ammo_wpn>0 and fire_wpn=0 //если разрешенно стрелять, есть патроны в обоиме и таимер выстрела равен 0 { bull_wpn=instance_create(o_player.x,o_player.y,o_bull) //то создаём пулю bull_wpn.speed=o_player.speed_bull //придаём ей скорость bull_wpn.direction=o_player.direction //направляем в сторуну мыши bull_wpn.image_angle=o_player.image_angle //поворачиваем спраит в сторону миши fire_wpn=o_player.speed_wpn //заводим таймер }
окей, осталось зарядить наши патроны порохом и можно идти в бои...т.е. чуть чуть оптимизировать нашу игру)) заходим в o_bull и в Step пишем
Code
//удаление пули if x>room_width or y>room_height //если пуля дальше чем пределы комнаты { instance_destroy() //то удоляем её }
всё наша основа готова....ждём следующих уроков)))
>
Сообщение отредактировал Lgunchik - Воскресенье, 24 Июля 2011, 14:02
Blablabla, читай лучше.....тряску я сделал , а вот сурфейсы не магу....делаю всё по справке а не выходит.....других вариантов не придумал.....вот и прошу людей помочь........
ТЫ думаешь, что я совсем нуб??? или как?? это ты забыл уже давно что такое думать и вот не думаешь что говоришь...подумай прежде чем ПОДУМАТЬ)))
Добавлено (20.07.2011, 17:57) --------------------------------------------- BaHu3aTop, спс.....дельный пример....но я его немного поменял по моему шикарно))