======= 함수 퀵 설명 func ref ====== ===== keyboard_check ===== * **keyboard_check(<키보드>)** : 해당 키보드가 사용 되었는가? ===== sign ===== * **sign()** : 숫자가 양수면 1, 음수면 -1, 0 이면 0 ===== abs ===== * **abs()** : 는 음수도 양수로 전환해서 리턴 ===== place_meeting ===== * **(bool) place_meeting(x,y,object)** : 충돌 여부 판정 ===== instance_place ===== * **(real) instance_place(x,y,obj)** : 충돌여부판정 place_meeting()보다 좀 더 정교한가? 충돌 판정이 난 오브젝트를 리턴하는 것 같은데... ===== instance_number ===== * **instance_number()** : 어 뭐더라.. ===== point_direction ===== * **point_direction( x1, y1, x2, y2)** : (x1,y1)에서 (x2,y2)를 가리키는 각도 값을 구한다 (일반 숫자임) ===== choose() ===== * **choose()** : 최대 15개까지 스트링,숫자,오브젝트 중에 랜덤하게 골라라. // obj_enemy1, obj_enemy2, obj_enemy3 을 랜덤하게 선택할때, var newInst; newInst = choose( obj_enemy1, obj_enemy2, obj_enemy3 ); ===== instance_create() ===== * **instance_create()** : 오브젝트를 새로 생성한다. // 가장 자주 쓰는 코드 instance_create( , , <만들 인스턴스(오브젝트)> ); // with(instance_create()) 하면 무슨 뜻? ===== draw_sprite_ext ===== **draw_sprite_ext( 스프라이트, 프레임번호, x, y, x-scale, y-scale, 회전방향, 색상, 알파값 )** * 스프라이트 : 그릴 스프라이트 * 프레임 번호 : 스프라이트의 몇번 이미지를 그리나? -1이면 현재 이미지. * 회전 방항 : 0 : 시계 반대 방향, 90 시계 방향 * 색상 : 특정 색으로 블렌딩 처리해서 출력. c_white를 보통 사용. * 알파값 : 스프라이트 알파값. 0 ~ 1사이의 값. 0 이면 투명, 1 불투명. // // 적을 없앴을때, 동전 같은게 떨어져야 한다면, // 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의 위치를 구해주는 요긴할 듯한 함수. {{:language:gamemaker:lengthdir_x.jpg|}} // 총알 오브젝트를 만들때, 플레이어가 사용하는 총의 방향에 맞는 위치를 구한다. 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;