كيفية تغيير الصورة في العفريت cocos2d من مجموعة؟
-
07-07-2019 - |
سؤال
وأنا أحاول تغيير الصورة التي شبح من مجموعة يتم عرض. هنا هو رمز أنا باستخدام:
((Sprite *)[enemiesArray objectAtIndex:index]).image = baseImage;
وأحصل على رسالة الخطأ:
error: request for member 'image' in something not a structure or union
وماذا أفعل الخطأ؟
وشكرا للقراءة.
المحلول
وأنا لا أعتقد أن هذه هي الطريقة للقيام بذلك. بدلا من ذلك يجب عليك الاتصال بإحدى الطرق الحرف الأول:
- (معرف) initWithCGImage: (CGImageRef) صورة؛
- (معرف) initWithTexture: (Texture2D *) تكس؛
- (معرف) initWithFile: (NSString *) imageFile؛
في لعبي أفعل هذا بشكل مختلف، ولدي فئة لكائن بلدي يسمى "زيد" الذي ط تخزين أيضا في صفيف. لديه شبح كحقل وإذا أريد لتغيير الصورة ط مبادلة العفريت كله وتأكد من أنني إخفاء القديم وتظهر واحدة جديدة.
نصائح أخرى
وأفعل مثل هذا:
Texture2D *texture = [[Texture2D alloc] initWithImage:myUIImage]
[sprite setTexture: texture];
وتريد أن تفعل ذلك أفضل بهذه الطريقة:
وفي مكان ما في الحرف الأول:
CCSpriteBatchNode *spritesheet = [CCSpriteBatchNode batchNodeWithFile:@"car_anim.png"];
[self addChild:spritesheet];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"car_anim.plist"];
وفي مكان ما في العمل:
[yourSprite setDisplayFrame:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"car_left.png"]];
*. بليست و* يمكن أن يتم بابوا نيو غينيا مع Zwoptex.
والحلول الأخرى قد كسر لك الرسوم المتحركة عندما تحاول تغيير نسيج حين نفعل ذلك.
وحاول استخدام
[((العفريت *) [enemiesArray objectAtIndex: المؤشر]) setImage: baseImage]؛