سؤال

وأنا أحاول تغيير الصورة التي شبح من مجموعة يتم عرض. هنا هو رمز أنا باستخدام:

((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]؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top