فراگیری برنامه نویسی ios: پباده سازی بازی مشابه بازی انگری برد (قسمت سوم) در دو قسمت قبل فراگیری ساخت بازی فلاپی برد، روند مختلف ساخت بازی را توضیح دادیم در قسمت اول نحوه ساخت گوشه و کنار فیزیکی، پرنده را آموختیم و در قسمت دوم طرز جنبش دادن به پرنده و کدهای مربوط به جنبش پرنده با زدن ضربه را نوشتیم دراین قسمت که قسمت سوم و پایان این گروه میباشد موانعی را در بازی ساخت میکنیم .
آخرین عنصری که درطراحي اپليكيشن در مشهد بازی قرار میگیرد لوله هست که بصورت موانعی در صحنه بازی قرار دارند به طوری که پرنده نباید با آن ها عکس العمل نماید و در چهره برخورد پرنده بازی ریستارت میشود . برای انجام اینکار دو تصویر گرافیکی pipe1 .png و pipe2 .png را به پروژه بیش تر میکنیم . از بینش گرافیکی، لوله ها در فضای بازی عناصری خاص میباشند چراکه اجزایی مثل زمین، آسمان و طیوران در بازی اثبات و بدون تغییر تحول هستند اما لوله ها متغیر می باشند، بنابراین با تعریف دو عنصر گرافیکی pipe1 و pipe2 یک لوله از بالا صفحه اکران را توسعه و گسترش میدهد و لوله دیگر از تحت برگه اکران .
لوله ها با دو متد با نام SKSprintNode S تعریفوتمجید شده اند و این دو متد را در متد خالی SKNode (بعنوان والد) قرار میدهیم .
گزینش مسافت فی مابین لوله ها قادر است دلخواه باشد که ما در اینجا این فاصله را 100 گزینش کردیم @implementation MyScene
static NSInteger const kVerticalPipeGap = 100;
-(id)initWithSize:(CGSize)size { لوله ها در خارج از صفحه نمایش قرار میگیرند .
یک جفت از لوله ها در قسمت بیرونی سمت راست ورقه نمایش قرار میگیرند .امر zPosition به گونه ای برای لوله ها انتخاب شده میباشد که مدام در پشت زمین بازی قرار گیرند .
// Create pipes
SKTexture* _pipeTexture1 = [SKTexture textureWithImageNamed:@\"Pipe1\"]; _pipeTexture1 .filteringMode = SKTextureFilteringNearest; SKTexture* _pipeTexture2 = [SKTexture textureWithImageNamed:@\"Pipe2\"]; _pipeTexture2 .filteringMode = SKTextureFilteringNearest;
SKNode* pipePair = [SKNode node]; pipePair .position = CGPointMake( self .frame .size .width + _pipeTexture1 .size .width * 2, 0 ); pipePair .zPosition = -10;
CGFloat y = arc4random() % (NSInteger)( self .frame .size .height / 3 );
SKSpriteNode* pipe1 = [SKSpriteNode spriteNodeWithTexture:_pipeTexture1]; [pipe1 setScale:2]; pipe1 .position = CGPointMake( 0, y ); pipe1 .physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:pipe1 .size];
pipe1 .physicsBody .dynamic = NO; [pipePair addChild:pipe1];
SKSpriteNode* pipe2 = [SKSpriteNode spriteNodeWithTexture:_pipeTexture2]; [pipe2 setScale:2]; pipe2 .position
[self addChild:pipePair];
پرنده با عکس العمل با لوله ها، با جنبش برگه اکران از صفحه خارج میگردد .
مقالات جامع در حوزه اپلیکیشن...
ما را در سایت مقالات جامع در حوزه اپلیکیشن دنبال می کنید
برچسب : طراحي اپليكيشن در مشهد, نویسنده : عباسی app01 بازدید : 159 تاريخ : شنبه 7 تير 1399 ساعت: 2:34