장면 전환이 발생하는 동안 장면에서 자식으로 추가 된 레이어의 현재 위치를 검색하려고합니다. 전환은 편집 된 Cocos2D 전환으로 새로운 레이어가 나타나면 레이어를 화면 밖으로 밀어냅니다.Cocos2D : 다른 클래스의 장면에서 레이어의 위치 가져 오기
#import "JoinedMapsScene.h"
#import "JoinedMapsLayer.h"
@implementation CCEaseInWithPercentMult
-(void) update: (ccTime) t
{
[other update: powf(t,rate)];
CCScene * scene = [[CCDirector sharedDirector] runningScene];
CCNode* layer = [scene getChildByTag:0];
NSLog(@"% .2f",layer.position.x); //returns 0
NSLog(@"% .2f",layer.position.y); //returns 0
}
그러나 이러한 반환 0 전환이 발생합니다 나는 업데이트 방법 CCActionEase 안에 내 자신의 구현을 만들었습니다. 아마도 나는 그 자신과 관련된 입장을 취하고 있기 때문에?
편집 : 내가 발견
이 작동하지 않습니다. 다음과 같이 올바른 클래스를 가리켜 내 현재 장면에 올바르게 액세스했습니다.
JoinedMapsScene * scene = (JoinedMapsScene *) [[CCDirector sharedDirector] runningScene];
그리고 이렇게 내 생각 메소드를 호출 :
[현장 getJoinedMapsLayerPosition]
놀랍게도 전환이 진행되는 동안 현재 runningScene이 전환 클래스입니다.
그것은 내이 예외 제공 : 를 - [ExitLTransition getJoinedMapsLayerPosition] : 인식 할 수없는 선택기 예를 0x5e4e20 내가이 일을 다른 방법을 강구해야
로 전송.