목차

여기에 일단 적다가.. 언젠가 원래 있어야할 섹션으로 이동

view를 사용한 화면 전환 방식으로 작성한 것

화면 부분, 부분을 분할해서 출력하는 용도가 아니면 룸이 아니어도 되지 않나 싶다. 아직은 활용을 제대로 못하고 있기 때문인지 좌표 때문에 손이 많이 가네.

with 를 사용할 때, 원래 인스턴스를 쓰려면

게임을 정지시키고 싶을때, 현재 화면에 보이는 것들(이것들만 정지시키도 되는 부분이라) instance_deactivate_object()로 필요한 것만 정지시켰으나…

뭔가 잘 안됐다. 여러번 반복하면 다운의 원인이 되었다.

어떤걸 잘못 쓴걸까.. 반면,

instance_deactivate_all(false)와 instance_activate_all()는 매우 잘 되었다.

주의할 점은 deactivate 하고나면 완전 스톱이기 때문에, (내부 로직상태도 멈춘다) 다시 상태 변경이 원활하게 하고 싶으면 먼저 활성화 하고 해야한다.

with 를 사용할 때, 원래 인스턴스를 쓰려면

with( some_inst )
{
  x = 1; y =1;
  id; // id값도 some_inst의 id 값이다. 당연하지만.
}

이 경우, with(..) 구문을 사용하는 오브젝트(인스턴스)의 변수나 속성을 사용하고 싶다면, other 키워드를 사용한다.

with( some_inst )
{
  x = 1; y =1;
  id; // id값도 some_inst의 id 값이다. 당연하지만.
  other.id; // 이 코드를 실행하는 인스턴스의 id를 가리킨다.
}

오브젝트에 있는 스프라이트의 크기

도움말에 있는 내용이지만,

Parent 객체 설정

특정 이벤트에서 부모 객체의 이벤트를 먼저 호출하고 싶으면,

Drawing 함수

DrawGUI 이벤트

화면 해상도 또는 뷰를 사용하는 화면이 스크롤 되어도, <color darkorange>draw gui</color> 이벤트로 그린 것들은 항상 그 자리에 남아 있다.

유용하게 잘 써먹자.

마우스 좌표

폰트 사용

// 외부 전역 오브젝트에서, 프로그램이 첫 실행시 설정
draw_set_font( fntMain );
 
// 필요한 오브젝트에서 출력해보기 -- 처음설정한 폰트가 그대로 유지되는가?
// ** 한글 출력을 위해서는 ini 설정과 한글 스트링 로딩 작업이 필요.
draw_text_color( x, y, 'test string', c_lime, c_lime, c_green, c_reen, 1 );

적에게 체력 게이지 추가

health는 플레이어 캐릭터에만 쓸 수 있는 전역 변수라서, 인스턴스 변수를 선언.

스피드

  1. pc에서 보는 움직이는 속도와 아이폰에서 느낌은 좀 다르다.
  2. 기본 속도를 4이상 잡아야 빠르게 움직이는 느낌이 난다.
    1. 프레임률과 룸의 스피드는 개념이 다르다.
  3. ip4에서는 4 –> 해상도가 세로로 960이나 되다 보니 프레임당 2,3픽셀 움직이는건 거의 안움직이는 것 처럼 보인다.

간단한 파티클

마우스

set gravity

/// 특정 오브젝트에 살짝 튀었다가 떨어지는 것을 설정
// 오브젝트 생성시 : 살짝 위로 가도록 생성, 생성하는 CreateObject 이벤트에 코드로 추가
direction = random_range( 70, 110 );
speed = 3;
/// 'Set the gravity' 액션을 추가
direction = 270 // 다른 direction 과 방향이 같다. ( 0 : right, 90 : up, 180 : left, 270 : down )
gravity = 0.2   // 숫자는 임의 입력이 가능하니 여러 숫자로 테스트. 
// 0.01도(아주 작은 수) 입력 가능. 
// 숫자가 커지면 더 빨리 떨어진다.
// check 'Relative' 중력 방향이 연결된 오브젝트에 영향을 받아 direction 값이 상대적으로 달라진다. 일반적으로 쓰려면 off.

룸(room)

배경 사이에 스프라이트 그리기

버튼과 같이 스프라이트 이미지 각각을 다른 용도로 쓰고 싶을때

우선, 스프라이트 애니메이션이 되지 않도록 설정

image_speed = 0; // 애니메이션 되지 않도록
image_index = 0; // 첫번째 이미지만 그려지도록

Step 이벤트에서 image_index에 스프라이트 번호 0..N을 할당하면 자동으로 이미지가 변경 된다.

// Step 이벤트에서 액션은.. 뭐 알아서. draw 라든지 draw_gui라든지.
image_index = 2; // 2 번 이미지를 그린다.
//.. 어쩌구 저쩌구.
image_index = 1; // 1번 이미지로 바꾼다.