Я копался в исходниках одной игры и заметил следующий код:
Code
if weapon[weap,1]>=1 and canshoot=1 and weapon[weap,12]=0 { canshoot=0 ID=instance_create(x+lengthdir_x(DX,image_angle)-lengthdir_y(DY,image_angle),y+lengthdir_y(DX,image_angle)+lengthdir_x(DY,image_angle),weapo n[weap,6]) ID.speed=weapon[weap,5]
if mouse_check_button(mb_right){ID.direction=image_angle+choose(random(precision))+speed/2}else{ID.direction=image_angle+choose(random(weapon[weap,4]))+speed/2}
if weapon[4,1]>=1 and weap=4 { IF=instance_create(x+lengthdir_x(DX,image_angle)-lengthdir_y(DY,image_angle),y+lengthdir_y(DX,image_angle)+lengthdir_x(DY,image_angle),obj_f lame2) IF.direction=image_angle+choose(random(weapon[weap,4])) IF.dmg=weapon[weap,8] }
if weapon[5,1]>=1 and weap=5 and canshoot=1 { repeat 5 { IS=instance_create(x+lengthdir_x(DX,image_angle)-lengthdir_y(DY,image_angle),y+lengthdir_y(DX,image_angle)+lengthdir_x(DY,image_angle),obj_b ullet) IS.speed=weapon[weap,5] IS.direction=image_angle+choose(-2,-1,0,1,2) IS.dmg=weapon[weap,8] } canshoot=0 weapon[weap,1]-=1 alarm[0]=weapon[weap,3] S=instance_create(x,y,obj_bullet_shell) S.image_index=weapon[weap,11] }
Объясните пожалуйста что данный код делает
Сообщение отредактировал dima9595 - Суббота, 16 Июня 2012, 17:18
Проще с нуля написать, чем разбираться во всем этом...
А в двух словах: проверяем есть ли патроны к оружию, можно ли стрелять и что за оружие в руках. Потом выбрасываем "стрелянную" гильзу, вычитаем патрон и пускаем пулю (с определенной скоростью и в нужном направлении). Задержка времени и можно снова стрелять. Первая доделанная игра: Putin V.S. Humanity