post list

2014년 8월 31일 일요일

스프라이트 킷(spriteKit)의 클래스들 2. 노드 넣기(SKNode)


스프라잍트 킷에 표시되는  물체. 배경  등등이 바로 노드 라는 것입니다.

다음은  SKNode class reference 입니다. 참고하시고

Tasks


Creating a New Node


Inspecting the Node’s Position


Setting a Node’s Scaling and Rotation


Inspecting a Node’s Visibility


Determining Whether a Node Supports User Interaction


Working with Node Trees


Naming Nodes


Running Actions


Adding Physics to a Node


Converting To and From the Node’s Coordinate System


Determining If a Point Lies in a Node


Performing Node Intersections


Storing Custom Node Data




노드는 각각 physicsBody를 가질 수 있으며  이것 들은  physicsWorld에 의해 컨트롤 됩니다.

노드에는 여러 가지가 있습니다.

1. SKSpriteNode :  텍스쳐로 표현 되는 노드입니다.  직접 포토샾 같은 걸로 그림을 그려서  만들수 있는 노드 입니다.

2. SKLabelNode : 글자를 표시 하는 노드 입니다.  글자색도 지정할수 있고 글자체도 가능

3.   SKVideoNode: 비디오를 재생해주는 노드 입니다.

4. SKShapeNode : 직접 코어 그래픽스를 이용해서 도형 을 그릴수 있습니다.

5. SKEmitterNode; 파티클 이미터를 추가할수 있습니다.  쉽게 말해 특수효과 입니다.

6. SKCropNode :  마스크를 이용해서 노드를 잘라 낼수 있습니다.

마스크란?   포토샾이나 그래픽 공부하면 자세히 배우는데
                예를 들어 제대로 된 그림이 있습니다.  거기에 마스크를 씌웁니다.
               그럼 그림이 투명해 집니다. 마스크에 흰색을 칠하면 칠한 부분만  그림이
               보입니다.   요딴 개념을 사용해서 노드를 잘라냅니다.

7.  SKEffectNode : 코어 이미지 필터를 자식노드에 적용 합니다.
                           우리가  스마트폰 카메라 어플 쓸때 사용하는 필터랑 비슷한 겁니다.


SKNode reference 문서가 양이 너무 많아 다 설명하진 못하고 중요하다 생각하는것만 몇개 설명합니다.


노드를 투명 하게 만들고 싶을때
alpha 값을 변화 시키면 됩니다.   0: 투명

노드 이미지를 뒤집고 싶을때

xScale 을 사용합니다. 기본값 1.0
 여기에 -1.0을 넣으면 이미지가 뒤집힙니다.

sknode.xScale = fabs(sknode.xScale) * -1; 이렇게

당연히 yScale도 마찬가지

노드 숨기기
hidden 에  yes대입합니다.


이름 지정하기
sknode.name = @" 이름 ";
이름은 왠만 하면 지정합니다. 그냥  안써도.

노드들이 겹치네 ???

zPosition 에 값을 다르게 주면 됩니다.   값이 높으면 위로 올라옴


그리고 SKSpriteNode 에 관한거  
가장 많이 쓰는 노드니까 요거에 관한거 몇개 더

초기화 하기

Initializing a New Sprite



+는 클래스메소드  - 는 인스턴스 메소드 입니다.
 차이는   간단하게  인스턴스 메소드는 객체를 생성하고 사용하는 메소드
클래스 메소드는  객체 생성 없이 사용하는 메소드입니다.

사이즈 지정하기 

sknode.size = cgsizemake( 100, 100);   // 요딴식으로

중간에 노드의 이미지를 변경하고 싶다.

sknode.texture  요기에 변경하고 싶은 이미지 넣기

위치를 잡을때 기준이 되는 포인트 바꾸기

sknode.anchorPoint 값을 변경해 주면됨  기본값은 (0.5,0.5)  <- 노드중심


physicsBody이는 지금 적으려고 했는데 양이 너무 많아서 다음글에서 ....






댓글 없음:

댓글 쓰기