【发布时间】:2012-10-04 18:54:39
【问题描述】:
我需要将 UIKit 层的位置与 Cocos2D 场景层同步,发生的过渡将当前场景从屏幕上移出一个新场景。我已经编辑了 CCActionEase 来制作我自己的更新方法,它可能会在我的委托中调用一个方法来发送我的 Cocos2D 场景层的当前位置。我所需要的只是一种在 CCActionEase 中以某种方式获取场景当前位置的方法。它必须在这里,因为 CCActionEase 一遍又一遍地调用 update,而当它存在时,场景的位置正在改变。
这是我的代码的运行顺序,以便调用。
在我的场景当前层中,我的转换方法被调用:
[[CCDirector sharedDirector] replaceScene: [ExitUTransition transitionWithDuration:5.4 scene: [JoinedMapsScene scene]]];
在那个类中,我的自定义 CCEaseInWithPercentMult 的 actionWithAction 被调用:
@implementation ExitUTransition
- (CCActionInterval*)easeActionWithAction:(CCActionInterval*)action {
return [CCEaseInWithPercentMult actionWithAction:action rate:1.0f];
}
@end
在CCActionEase中,调用了更新方法:
@implementation CCEaseInWithPercentMult
-(void) update: (ccTime) t
{
[other update: powf(t,rate)];
//here I could pass the scene layer position
[(cocosTestsAppDelegate *)[[UIApplication sharedApplication] delegate] adjustBGViewPosWithXOffset:scenePosX withYOffset:scenePosY];
}
@end
【问题讨论】:
标签: cocos2d-iphone uikit position layer scene