۱۳۹۱/۰۳/۰۴

مقدمه اب براستارلینگ - قسمت اول

استارلینگ را می شناسید؟

یک موتور سورس باز برای ساخت بازی در فلش که از قابلیت های جدید فلش پلیر (Stage3D) استفاده می کند.Stage3D عليرغم نامش توانايي ايجاد پروژه های دو بعدی را نیز دارد . در مثال زیر نحوه انجام یک پروژه دوبعدی ساده را باهم مرور می کنیم.

برای راحتی بیشتر بهتر است از نسخه 4.6 فلاش بیلدر استفاده کنید.

ابتدا مانند تصویر زیر یک پروژه اکشن اسکریپت را شروع کنید:


بعد از نامگذاری پروژه و تعیین مسیر ذخیره آن بجای دکمه Finish  روی دکمه Next كليك كنيد.


در تب Source Path مسیر پوشه Starling\src را ىر پوشه کتابخانه استارلینگ که قبلا دانلود کرده اید را وارد نمایید..

خب حالا وقت کد نویسی است خیلی ساده یک نمونه از استارلینگ ایجاد کنید :
package{
 import flash.display.Sprite;
 import starling.core.Starling;
 
 [SWF(width="500", height="500", frameRate="60", backgroundColor="#000000")]
 public class Main extends Sprite{
  private var starling:Starling;
  public function Main(){
   starling = new Starling(Game, stage);
   starling.start();
  }
 }
}

وسپس فایل Game.as :

package{
 import starling.display.Image;
 import starling.display.Sprite;
 import starling.events.Event;
 
 public class Game extends Sprite{
  [Embed(source = "background.png")]
  private static const Background:Class;
 
  [Embed(source = "greencircle.png")]
  private static const GreenCircle:Class;
 
  private var greenCircleVector:Vector.=new Vector.();
  private var xSpeedVector:Vector.=new Vector.();
  private var ySpeedVector:Vector.=new Vector.();
 
  public function Game(){
   addEventListener(Event.ADDED_TO_STAGE,setup);
  }
 
  private function setup(e:Event):void{
   var background:Image = Image.fromBitmap(new Background());
   addChild(background);  
   for(var i:uint=0;i<10;i++){
    var greenCircle:Image=Image.fromBitmap(new GreenCircle());
    greenCircle.x=Math.random()*500;
    greenCircle.y=Math.random()*500;
    var randomDirection:Number=Math.random()*2*Math.PI;
    addChild(greenCircle);
    greenCircleVector.push(greenCircle);
    xSpeedVector.push(2*Math.cos(randomDirection));
    ySpeedVector.push(2*Math.sin(randomDirection));
   } 
   stage.addEventListener(Event.ENTER_FRAME, update);
  }
 
  private function update(e:Event):void{
   for(var i:uint=0;i500){
     greenCircleVector[i].x-=500;
    }
    if(greenCircleVector[i].x<0){
     greenCircleVector[i].x+=500;
    }
    if(greenCircleVector[i].y>500){
     greenCircleVector[i].y-=500;
    }
    if(greenCircleVector[i].y<0){
     greenCircleVector[i].y+=500;
    }
   }
  }
 }
}

در کد بالا به نحوه استفاده از کلاسهای رویداد و اسپرایت که از بسته استارلینگ گرفته شده اند دقت کنید. این کلاسها جایگزین معادل فلش خود شده اند. نمونه اولیه ایجاد شد. در بخش های بعدی کار را برای تولید بازی ادامه خواهیم داد.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google
  • Furl
  • Reddit
  • StumbleUpon
  • Donbaleh
  • Technorati
  • Balatarin
  • twitthis

0 نظرات:

ارسال یک نظر