سؤال

أنا أستخدم Cocoa2Ds لإنشاء لعبة لنظام iOS.أعلم أن الأمر ربما يكون بسيطًا، ولكن هل هناك طريقة لتغيير صور الكائنات في CCFile برمجيًا؟

لقد قمت بإنشاء كائن كائن بطل ثم قمت بسحبه إلى المشهد الرئيسي باستخدام SpriteBuilder.

في النهاية، أود تغيير كائن البطل إلى صورة أخرى متحركة (متحركة) أيضًا.

هل كانت مفيدة؟

المحلول

لقد سألت عن تغيير صورة "CCFile"، لكنني أفترض أنك تقصد صورة "CCSprite".إذا كان الأمر كذلك، فيمكن تغيير صورة الكائن عن طريق إنشاء إطار كائن أولاً ثم تعيينه للكائن:

CCSpriteFrame * frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"NameOfFrame"];
[mySprite setDisplayFrame:frame];

لكي يعمل هذا، يجب أن تكون الصورة التي تشير إليها قد تم تحميلها بالفعل في الذاكرة، على سبيل المثال من خلال ورقة الرموز المتحركة:

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"SpriteSheetFileName.plist"];

لقد ذكرت الرسوم المتحركة.إذا كنت تحاول تحريك كائن، وتم تحميل جميع الصور في الذاكرة ولها نفس الاسم باستثناء الرقم التسلسلي الملحق بها، فيمكنك جعل الكائن يتحرك عبر هذه الصور، وبالتالي تحريكه، كما يلي:

NSString * animateCycle = [NSString stringWithFormat:@"ImageName 00%%02d.png"];

ستكون أسماء الصور على غرار "ImageName 0001.png" و"ImageName 0002.png" وما إلى ذلك.

CCActionInterval * action = [CCAnimate actionWithSpriteSequence:animateCycle numFrames:8 delay:.1 restoreOriginalFrame:YES];
[mySprite runAction:action];

سيؤدي هذا إلى التنقل بين الصور بناءً على التأخير المحدد.

آمل أن يساعد هذا.

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