در تمام بخش ها مدیر فعال ( با سابقه فعالیت در انجمن های دیگر ) می پذیریم ، با ما تماس بگیرید. انجمن پیچک

نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: آموزش برنامه نویسی ios: طراحی بازی مشابه بازی انگری برد (قسمت اول)

  1. #1
    کاربر سایت

    آخرین بازدید
    پنجشنبه ۲۵ شهریور ۹۵ [ ۱۲:۵۷]
    محل سکونت
    تهران
    نوشته ها
    14
    امتیاز
    921
    سطح
    1
    Points: 921, Level: 1
    Level completed: 99%, Points required for next Level: 0
    Overall activity: 0%
    دستاوردها:
    Tagger Second Class3 months registered500 Experience Points
    سپاس ها
    0
    سپاس شده 0 در 0 پست

    آموزش برنامه نویسی ios: طراحی بازی مشابه بازی انگری برد (قسمت اول)

    سوئیفت زبان برنامه نویس جدیدی است که توسط اپل برای ios و توسعه سیستم عامل مک طراحی شده است.سوئیفت کاملا مطابق با الگوهای برنامه نویسی مدرن است و زبانی راحت و انعطاف پذیر و بسیار سرگرم کننده برای یادگیری است در این مقاله برنامه نویسی ios- ساخت بازی روش طراحی بازی مشابه بازی، انگری برد را با زبان سویفت می آموزیم. در مرحله اول محیط xcode را باز کنید قبل از شروع کار مطمئن شوید که اخرین نسخه xcode را نصب کنید اخرین نسخه کنونی xcode 7.3.1 می باشد.پس از نصب xcode باید وارد مرحله تنظیمات محیط شویم:در ios7 چارچوب جدید تحت نام Sprite Kit اضافه شده است که به برنامه نویسان امکان پنهان سازی جزییات کد را می دهد و بخصوص برای طراحی اپ های بازی به برنامه نویس امکان می دهد فارغ از جزییات برنامه نویسی، بیشتر به طراحی محیط مکانیکی بازی بپردازد. وقتی xcode را باز کردید روی گزینه Create a new Xcode project در صفحه نمایش کلیک کنید. از قالب های پروژه های موجود spritekitرا انتخاب کنید. مرحله بعدی جزییات تنظیمات را نمایش می دهد که بعدا می توانید آنها را تغییر دهید. محلی برای ذخیره فایل های پروژه انتخاب کنید محیط جدید با تعدادی کد پیش فرض باز می شود که می بایست این کدها را حذف کنید کد Spaceship.png را حذف کنید و بجای ان فایل های Bird1.png و Bird2.png را جایگزین کنید همچنین کد initWithSize را حذف و قطعه کد touchesBegan از MyScene.m. را بجای آن جایگزین کنید در مرحله اول پرنده را طراحی می کنیم قطعه کد زیر با استفاده از کتابخانه MyScene.h پرنده را طراحی می کند. #import "MyScene.h" @interface MyScene () { SKSpriteNode* _bird; } @end @implementation MyScene -(id)initWithSizeCGSize)size { if (self = [super initWithSize:size]) { /* Setup your scene here */ SKTexture* birdTexture1 = [SKTexture textureWithImageNamed:@"Bird1"]; birdTexture1.filteringMode = SKTextureFilteringNearest; _bird = [SKSpriteNode spriteNodeWithTexture:birdTexture1]; [_bird setScale:2.0]; _bird.position = CGPointMake(self.frame.size.width / 4, CGRectGetMidY(self.frame)); [self addChild:_bird]; } return self; } -(void)touchesBeganNSSet *)touches withEventUIEvent *)event { /* Called when a touch begins */ } -(void)updateCFTimeInterval)currentTime { /* Called before each frame is rendered */ } @end بخاطر داشته باشید که مختصات منفی x و yصفحه نمایش SpriteKit، از سمت چپ بالای صفحه آغاز می شود و مختصات مثبت از سمت راست بالای صفحه اغاز می شود. همانطور که در تصویر می بینید ظاهر پرنه طراحی شد مرحله دوم:ایجاد حرکت در مرحله بعدی باید به پرنده انیمیشن و حرکت اضافه شود.با استفاده از حلقه ای ساده و delay انیمیشن، به پرنده اضافه می شود با استفاده از تعریف دو پرنده به پرنده مرحله قبل، انیمیشن می دهیم: نتیجه آن چیزی است که در تصویر زیر می بینید. مرحله سوم: اضافه کردن تصویر زمینه مرحله سوم مرحله ای است که تصویر زمینه و محیط اطراف پرنده طراحی می شود @interface MyScene () { SKSpriteNode* _bird; SKColor* _skyColor; } @end @implementation MyScene -(id)initWithSizeCGSize)size { if (self = [super initWithSize:size]) { /* Setup your scene here */ _skyColor = [SKColor colorWithRed:113.0/255.0 green:197.0/255.0 blue:207.0/255.0 alpha:1.0]; تصویر زمینه و رنگهای آن الگوهای تکراری هستند.پس از اضافه کردن Ground.png و Skyline.png به پروژه عرض صفحه نمایش را تعیین می کنیم. // Create ground SKTexture* groundTexture = [SKTexture textureWithImageNamed:@"Ground"]; groundTexture.filteringMode = SKTextureFilteringNearest; for( int i = 0; i < 2 + self.frame.size.width / ( groundTexture.size.width * 2 ); ++i ) { SKSpriteNode* sprite = [SKSpriteNode spriteNodeWithTexture:groundTexture]; [sprite setScale:2.0]; sprite.position = CGPointMake(i * sprite.size.width, sprite.size.height / 2); [self addChild:sprite]; } // Create skyline SKTexture* skylineTexture = [SKTexture textureWithImageNamed:@"Skyline"]; skylineTexture.filteringMode = SKTextureFilteringNearest; for( int i = 0; i < 2 + self.frame.size.width / ( skylineTexture.size.width * 2 ); ++i ) { SKSpriteNode* sprite = [SKSpriteNode spriteNodeWithTexture:skylineTexture]; [sprite setScale:2.0]; sprite.zPosition = -20; sprite.position = CGPointMake(i * sprite.size.width, sprite.size.height / 2 + groundTexture.size.height * 2); [self addChild:sprite]; } اگر دقت کرده باشید در کدها یک خانه بیشتر تعریف کردیم چراکه با این خانه اضافی میتوان تصور حرکت را ایجاد کرد زمانی که پرنده به سمت چپ حرکت می کند یک جای خالی در سمت را ست باقی می ماند که تعریف این خانه اضافی باعث می شود آن فضای خالی سمت راست پر شود و صفحه نمایش حرکت کند. // Create ground SKTexture* groundTexture = [SKTexture textureWithImageNamed:@"Ground"]; groundTexture.filteringMode = SKTextureFilteringNearest; SKAction* moveGroundSprite = [SKAction moveByX:-groundTexture.size.width*2 y:0 duration:0.02 * groundTexture.size.width*2]; SKAction* resetGroundSprite = [SKAction moveByX:groundTexture.size.width*2 y:0 duration:0]; SKAction* moveGroundSpritesForever = [SKAction repeatActionForever:[SKAction sequence:@[moveGroundSprite, resetGroundSprite]]]; for( int i = 0; i < 2 + self.frame.size.width / ( groundTexture.size.width * 2 ); ++i ) { // Create the sprite SKSpriteNode* sprite = [SKSpriteNode spriteNodeWithTexture:groundTexture]; [sprite setScale:2.0]; sprite.position = CGPointMake(i * sprite.size.width, sprite.size.height / 2); [sprite runAction:moveGroundSpritesForever]; [self addChild:sprite]; } // Create skyline SKTexture* skylineTexture = [SKTexture textureWithImageNamed:@"Skyline"]; skylineTexture.filteringMode = SKTextureFilteringNearest; SKAction* moveSkylineSprite = [SKAction moveByX:-skylineTexture.size.width*2 y:0 duration:0.1 * skylineTexture.size.width*2]; SKAction* resetSkylineSprite = [SKAction moveByX:skylineTexture.size.width*2 y:0 duration:0]; SKAction* moveSkylineSpritesForever = [SKAction repeatActionForever:[SKAction sequence:@[moveSkylineSprite, resetSkylineSprite]]]; for( int i = 0; i < 2 + self.frame.size.width / ( skylineTexture.size.width * 2 ); ++i ) { SKSpriteNode* sprite = [SKSpriteNode spriteNodeWithTexture:skylineTexture]; [sprite setScale:2.0]; sprite.zPosition = -20; sprite.position = CGPointMake(i * sprite.size.width, sprite.size.height / 2 + groundTexture.size.height * 2); [sprite runAction:moveSkylineSpritesForever]; [self addChild:sprite]; } استفاده از دو لایه با سرعت های مختلف (سرعت .1 و 0.02)منجر به ایجاد عمق در بازی می شود و به نظر می رسد که صفحه نمایش در حال پیمایش است. همانطور که ملاحظه کردید در این مقاله طریقه طراحی پرنده و محیط بازی مشابه انگری برد را آموختیم برای اضافه کردن ویژگی های حرکتی و اجسام بیشتر می توانید مقاله بعدی که قسمت دوم این مقاله از دسته های آموزش برنامه نویسی موبایل ios بلاگ سروش پرداز است را دنبال کنید. با عضویت در بلاگ سروش پرداز قدم به قدم برنامه نویسی اندروید و برنامه نویسی ios را بیاموزید. منبع:بلاگ سروش پرداز| برنامه نویسی ios
    ویرایش توسط sorooshpardaz : یکشنبه ۲۰ تیر ۹۵ در ساعت ۱۷:۲۹ دلیل: ادیتور ندارد، متن بهم ریخته است
    طراحی سایت | بهینه سازی سایت | طراحی گرافیکی و چاپ | برنامه نویسی اندروید | بازاریابی اینترنتی | کانال تلگرام: redirect.php?a=*telegram.me/sorooshpardaz

  2. #2
    کاربر سایت

    آخرین بازدید
    پنجشنبه ۰۷ اردیبهشت ۹۶ [ ۱۱:۵۹]
    سن
    32
    نوشته ها
    1
    امتیاز
    23
    سطح
    1
    Points: 23, Level: 1
    Level completed: 99%, Points required for next Level: 0
    Overall activity: 0%
    سپاس ها
    0
    سپاس شده 0 در 0 پست

    b4i

    پلتفرم b4i یک محیط برنامه نویسی با زبان بیسیک هست که با اتصال به مک در ویندوز و با اتصال به xcode کد های بیسیک رو به ios تبدیل و کامپایل میکنه و نتیجه رو بوسیله نرم افزاری به نام bridge روی گوشی نمایش میده . بسیار پلتفرم جالبی هست و بزودی خیلی فراگیر میشه بدلیل ساده بودن زبان بیسیک .
    [redirect.php?a=iranfoampack.com]

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •