스프라잍트 킷에 표시되는 물체. 배경 등등이 바로 노드 라는 것입니다.
다음은 SKNode class reference 입니다. 참고하시고
Tasks
Creating a New Node
Inspecting the Node’s Position
-
frame
property – calculateAccumulatedFrame
-
position
property -
zPosition
property
Setting a Node’s Scaling and Rotation
– setScale:
-
xScale
property -
yScale
property -
zRotation
property
Inspecting a Node’s Visibility
Determining Whether a Node Supports User Interaction
-
userInteractionEnabled
property
Working with Node Trees
– addChild:
– insertChild:atIndex:
– removeFromParent
– removeAllChildren
– removeChildrenInArray:
– inParentHierarchy:
-
children
property -
parent
property -
scene
property
Naming Nodes
Running Actions
– runAction:
– runAction:completion:
– runAction:withKey:
– actionForKey:
– hasActions
– removeAllActions
– removeActionForKey:
-
speed
property -
paused
property
Adding Physics to a Node
-
physicsBody
property
Converting To and From the Node’s Coordinate System
Determining If a Point Lies in a Node
Performing Node Intersections
Storing Custom Node Data
-
userData
property
노드는 각각 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
– initWithColor:size:
– initWithImageNamed:
– initWithTexture:
– initWithTexture:color:size:
+ spriteNodeWithColor:size:
+ spriteNodeWithImageNamed:
+ spriteNodeWithTexture:
+ spriteNodeWithTexture:size:
+는 클래스메소드 - 는 인스턴스 메소드 입니다.
차이는 간단하게 인스턴스 메소드는 객체를 생성하고 사용하는 메소드
클래스 메소드는 객체 생성 없이 사용하는 메소드입니다.
사이즈 지정하기
sknode.size = cgsizemake( 100, 100); // 요딴식으로
중간에 노드의 이미지를 변경하고 싶다.
sknode.texture 요기에 변경하고 싶은 이미지 넣기
위치를 잡을때 기준이 되는 포인트 바꾸기
sknode.anchorPoint 값을 변경해 주면됨 기본값은 (0.5,0.5) <- 노드중심
physicsBody이는 지금 적으려고 했는데 양이 너무 많아서 다음글에서 ....
댓글 없음:
댓글 쓰기