목차

함수 퀵 설명 func ref

keyboard_check

sign

abs

place_meeting

instance_place

instance_number

point_direction

choose()

// obj_enemy1, obj_enemy2, obj_enemy3 을 랜덤하게 선택할때,
var newInst;
newInst = choose( obj_enemy1, obj_enemy2, obj_enemy3 );

instance_create()

// 가장 자주 쓰는 코드
instance_create( <x pos>, <y pos>, <만들 인스턴스(오브젝트)> );
// with(instance_create()) 하면 무슨 뜻?

draw_sprite_ext

draw_sprite_ext( 스프라이트, 프레임번호, x, y, x-scale, y-scale, 회전방향, 색상, 알파값 )

//
// 적을 없앴을때, 동전 같은게 떨어져야 한다면,
// spr_buttlet1은 1장짜리 작은 스프라이트 이미지
//
 
//- Events:Create, Actions:control->Execute Code
// 떨어지는 방향을 임의 설정
direction = random_range( 70, 110 );
// 떨어지는 속도 .. 그냥 3
speed = 3;
// 회전 시작각, 10 ~ 70 사이
my_angle = random_range( 10, 70 );
// 회전하는 방향, 왼쪽 or 오른쪽 랜덤하게
my_angleDelta = random_range( -2, 2 );
// 중력설정(떨어지도록)
//- Events:Create, Actions:Set the gravity 추가
direction = 360
gravity = 0.2
relative = true
 
//- Events:Draw, Actions:control->Execute Code
draw_sprite_ext(sprite_bullet1, 0, x, y, image_xscale, image_yscale, my_angle, image_blend, image_alpha);
//if( my_angle < 80 ) 
my_angle += my_angleDelta;
 
//- Events:Outside Room, Actions:Destroy the instance
// 화면 밖으로 나가면 삭제되도록

draw_healthbar(...)

draw_healthbar(
  left of 체력게이지,
  top of 체력게이지,
  right of 체력게이지,
	bottom of 체력게이지,
	체력의 최대 숫자,
	체력게이지의 배경 색상 (c_black),
	체력이 0일때의 색상?,
	체력이 100%일때의 색상,
	체력바가 줄어드는 방향 ( 0 = left, 1 = right, 2 = top, 3 = bottom ),
	체력게이지 배경 보일건가 ( true, false ),
	체력게이지 테두리 필요한가? ( true, false ) )

lengthdir_x, lengthdir_y

lengthdir_x( <지금 위치로부터 거리>, <방향> );
var next_x_pos, next_x_pos;
next_x_pos = lengthdir_x( 100, 10 );
next_y_pos = lengthdir_y( 100, 10 );

현재 위치에서, 어떤 각도의 길이 몇만큼 줬을때 이동된 X의 위치를 구해주는 요긴할 듯한 함수.

// 총알 오브젝트를 만들때, 플레이어가 사용하는 총의 방향에 맞는 위치를 구한다.
instance_create(x + lengthdir_x(64, image_angle), y + lengthdir_y(64, image_angle), obj_bullet); 

그외

room0 : loading
	obj_Controller
		Create
			알람0,1 설정
			알람1 = room_speed 설정? (barrels 추가)
		알람0
			적obj 3개 미만
				leven + 1 반복
					4개의 인스턴스 생성 (instance_create(x,y,obj))
				level 증가
			알람0 리셋 (room_speed로 설정)
		알람1 (barrel 추가)
			x,y 위치 랜덤으로 설정
			x,y 위치가 벽과 주인공을 피해서 다시 설정
			barrel 추가
			알람 리셋
	obj_Player
		Create
			전역변수초기화
			player obj 초기화
    //make character point towards mouse
    var dd,ts;
    dd = ((((point_direction(x,y,mouse_x,mouse_y) - h_angle) mod 360) + 540) mod 360) - 180; //get the head rotation
    h_angle += min(abs(dd), 10) * sign(dd);  
    dd = ((((h_angle - b_angle) mod 360) + 540) mod 360) - 180; // Get the body rotation
    ts = abs(dd) / 6;
    if abs(dd) < ts b_angle = h_angle else b_angle += sign(dd) * ts;