次のコードのみを実行すると、r とエンティティは回転しますが、enemyEntity は回転しません。私は、rotateBy の更新メソッドに呼び出しを追加し、それを呼び出して角度を変更しますが、効果を表示しませんでした。継承の問題だと思います。以下のコードと、このページの下部にあるヘッダーを投稿します。助言がありますか?
CCSprite *r = [CCSprite spriteWithFile:@"redRingRight.png"];
r.anchorPoint = CGPointMake(0.5f, 0.5f);
r.position = CGPointMake(160.0f, 60.0f);
[r runAction:[CCRotateBy actionWithDuration:2.0f angle:100]];
[self addChild:r z:0 tag:77];
Entity * entity = [Entity spriteWithFile:@"redRingRight.png"];
entity.anchorPoint = CGPointMake(0.5f, 0.5f);
entity.position = CGPointMake(160.0f, 200.0f);
[entity runAction: [CCRotateBy actionWithDuration:2.0f angle:100]];
[self addChild:entity];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"game-art-hd.plist"];
EnemyEntity * enemyEntity = [EnemyEntity enemyWithType:Boss];
enemyEntity.visible = TRUE;
enemyEntity.anchorPoint = CGPointMake(0.5f, 0.5f);
enemyEntity.position = CGPointMake(160.0f, 300.0f);
[enemyEntity runAction: [CCRotateBy actionWithDuration:2.0f angle:100]];
[self addChild:enemyEntity];
//[self scheduleUpdate];
Entity および EnemyEntity (Entity のサブクラス) のヘッダー:
Entity.h
#import <Foundation/Foundation.h>
#import "cocos2d.h"
@class Component;
@interface Entity : CCSprite
{
}
@end
EnemyEntity.h
#import <Foundation/Foundation.h>
#import "Entity.h"
typedef enum
{
...,
Boss,
..
} EnemyTypes;
@interface EnemyEntity : Entity
{
EnemyTypes type;
}
+(id) enemyWithType :(EnemyTypes)enemyType ;
-(void) spawn;
@end