我開始與CoCos2d開發,我認爲我有節點空間和行動的一些問題,這是我的代碼和nothings移動雖然我似乎沒有錯誤時運行代碼,任何意見表示讚賞:CCMoveto不會移動
+(id) create {
return [[self alloc] init];}
-(id) init {
if ((self = [super init]))
{
CGSize scSize = [[CCDirector sharedDirector] winSize];
self.position = ccp(0,scSize.height);;
touchArea = [CCSprite spriteWithFile:@"touchArea.png"];
[touchArea setAnchorPoint:ccp(0, 0.5)];
[self addChild:touchArea];
obj_1 = [CCSprite spriteWithFile:@"obj1.png"];
obj_2 = [CCSprite spriteWithFile:@"obj2.png"];
obj_3 = [CCSprite spriteWithFile:@"obj3.png"];
obj_tab = [NSMutableArray arrayWithObjects:obj_1, obj_2, obj_3, nil];
for (int i=0; i < obj_tab.count; i++)
{
CCSprite *obj = [obj_tab objectAtIndex:i];
float offSetPos = ((float)(i+1))/(obj_tab.count +1);
CGPoint pos = ccp(scSize.width*offSetPos, 0);
obj.position = pos;
[obj setAnchorPoint:ccp(0.5, -0.25)];
[touchArea addChild:obj];
}
velocidad = 3;
destino = ccp(0,-100);
//[self scheduleUpdate];
[self moveIt] // <-- Edited to call another method
}
return self;
}
-(void) moveit{
CCMoveTo *moverAction = [CCMoveTo actionWithDuration:5 position:ccp(0,0)];
CCCallFunc *onEndAction = [CCCallFunc actionWithTarget:self selector:@selector(onEndMove:)];
CCSequence *moveSequence = [CCSequence actions: moverAction, onEndAction, nil];
[touchArea runAction:moveSequence];
{
-(void) update:(ccTime)delta {
}
-(void)onEndMove:(id)sender{
NSLog(@"OnEndMove fired");
}
-(void) onEnter{
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:-1 swallowsTouches:YES];
}
-(void) onExit {
[[CCTouchDispatcher sharedDispatcher] removeDelegate:self];
}
-(BOOL) ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{
CGRect boundingBox = touchArea.boundingBox;
boundingBox.origin = CGPointZero;
BOOL isTouchHandled = CGRectContainsPoint(boundingBox, [touchArea convertTouchToNodeSpace: touch]);
//NSLog(@"touchLocation y = %f", touchLocation.y);
//NSLog(@"touchArea y = %f", touchArea.position.y);
if (isTouchHandled){
NSLog(@"Touch Handled");
}
return isTouchHandled;
}
@end
感謝Yves,我剛剛打電話給我[super onEnter](我的自定義類繼承自CCNODE),現在它正在工作,我正在學習一本書「學習CoCos2D遊戲開發...」,並且在代碼中提供了甚至沒有對onEnter調用派生自定義類來自CCNODE,但它仍然設法執行這些行動......我不明白它是否有效,是一種苦樂參半的勝利^^。謝謝你的幫助。 – Rubs
您使用的資源非常好。熟悉coco的內部知識,不要害怕在代碼中找出'底層'實際發生的事情,你很快就會加快速度。一旦你獲得了它的對象模型以及如何讓它爲你自己工作,這是一個很好的框架。 – YvesLeBorg