khorzu
Member
بخش اول :
خيلي وقت بود منتظر بودم سرم خلوت بشه تا يه سري به AS3 بزنم اما فرصت نشده بود . تا اينكه يه كتاب ساده راجع به اون پيدا كردم كه بدردم خورد . اينجا قراره ترجمه نكات بدرد بخور اون + بعضي تجربه هاي شخصي نوشته شه گفتم شايد به درد شما هم بخوره . مخاطب اين نوشته ها از نظر منAS2 كار ها هستند اما شايد به كار بقيه هم بياد .
قبل از هر چيز اسم منبع كه از Flazx.com قابل دانلود است :
اول از همه چيز اينه كه AS3 از كد پايه دوباره نوشته شده و قاعدتا با AS2 تفاوت خواهد داشت . اين باز سازي كد ها باعث افزايش چشمگير سرعت اجراي دستورات شده و البته همين مزيت امكان تركيبAS3 با ورژن هاي قبلي اين زبان را در يك فايل سلب كرده است . قبل از شرع AS3 توجه داشته باشيد كه هر تغييري نياز به صرف زمان داره همچنين از جديد بودن قالب اين زبان نترسيد چون تجربه نشون داده يادگيري اون براي افراد مبتدي از نسخه هاي قبلي آسون تر بوده.
بد نيست براي اينكه علت بوجود اومدن اون رو بفهميم يه نگاه به تفاوت هاي اين دوتا و قابليت هاي جديد AS3 بندازيم :
1-گزارش دقيقتر خطا ها
2-ارتقاي دستور زبان
3-معماري جديد سيستم نمايش(display)
4-معماري جديد مديريت اتفاقات (events)
5-ارتفاي امكانات ارتباط با XML
6-قابليت جديد كار با text ها
7-امكانات جديد مديريت صدا ها
8-قابليت جديد دسترسي به داده ها : مي تونيد به داده ها در حين دانلود دسترسي داشته باشيد!
9-ارتقاي برنامه نويس شي گرا
10-...
كاربران AS3 علاوه بر كار در محيط فلش مي تونند براي پلتفرم هاي جديد فلش مثل Flex و adobe AIR هم برنامه نويسي كنند . اگر چه يك پروژه AIR ميتونه شامل HTML ، PDF و Java Script هم باشه اما AS3 ابزار اصلي و جامع اين نوع اپليكشن هاست.
شروع :
1- تعريف متغير ها به همون شكل AS2 است :
2- همچنين عملگر هاي شرطي و كنترلي :
3- آريه ها :
4- فانكشن ها :
5- اشيا :
6- تريگر ها :
7- تعريف جديتر مفاهيم Properties وMethods و Events:
Properties: شامل ويژگي هاي يك شي است مثل طول ، عرض ، شفافيت .
Methods: شامل كارهايي كه يك شي مي تونه انجام بده مثلا :play, stop,getUrl
Events: شامل همه اتفاقاتي كه ممكنه براي يك شي بيفته مثلا كليك شدن ، لود شدن ، درگ شدن و... . اين اتفاقات هنگام واقع شدن باعث اجرا شدن يك سري دستورات كه ما تعيين مي كنيم مي شوند .
EventHandlers واسته اي هست براي اينكه اتفاقات را به فانكشن ها مرتبط كنه . اين ويژگي چند تا تغيير كوچولو با AS2 داره :
متود addEventListener()براي تعريف يك event به كار ميره و شيئي را كه قرار است listening كنه رو به يك function وصل مي كنه . در مثال بالا دكمه rotate_right_btn قراره منتظر بمونه تا يه mouseUp (كليك كه مي كني نه وقتي ول مي كني مي گن mouseUp ) اتفاق بيفته و وقتي اين اتفاق مي فته فانكشن onRotateRight اجرا مي شود . addEventListener()دو تا پارامتر داره. پارامتر اول مي گه كه دكمه قراره منتظر چه event يي باشه . پارامتر دوم اسم فانكشني هست كه هنگام اتفاق افتادن event بايد صدا زده بشه . مثال زير هم كاربرد پارامتر ورودي فانكشن onStartDrag هست كه مي تونه خيلي كاربردي باشه . evt.target آبجكتي را كه event در مورد اون اتفاق افتاده تريگر مي كنه. evt يك شيئ MouseEvent هست كه target يك Propertie از اون هست .
- Frame Events :بدون شرح
-Timer Events :
همون طور كه مي دونيد enterFrame به علت ثابت بودن فريم ريت در بازه هاي زماني ثابت اتفاق مي افته . Timer Eventاين اجازه رو ميده تا يك فانكشن را در يك بازه زماني ديناميك و دلخواه صدا بزنيم . اين قابليت در AS2 بوسيله تابع setInterval() قابل پياده سازي بود .
خيلي وقت بود منتظر بودم سرم خلوت بشه تا يه سري به AS3 بزنم اما فرصت نشده بود . تا اينكه يه كتاب ساده راجع به اون پيدا كردم كه بدردم خورد . اينجا قراره ترجمه نكات بدرد بخور اون + بعضي تجربه هاي شخصي نوشته شه گفتم شايد به درد شما هم بخوره . مخاطب اين نوشته ها از نظر منAS2 كار ها هستند اما شايد به كار بقيه هم بياد .
قبل از هر چيز اسم منبع كه از Flazx.com قابل دانلود است :
Learning ActionScript 3.0 : A Beginner's Guide
by Rich Shupe, with Zevan Rosser:2008
by Rich Shupe, with Zevan Rosser:2008
اول از همه چيز اينه كه AS3 از كد پايه دوباره نوشته شده و قاعدتا با AS2 تفاوت خواهد داشت . اين باز سازي كد ها باعث افزايش چشمگير سرعت اجراي دستورات شده و البته همين مزيت امكان تركيبAS3 با ورژن هاي قبلي اين زبان را در يك فايل سلب كرده است . قبل از شرع AS3 توجه داشته باشيد كه هر تغييري نياز به صرف زمان داره همچنين از جديد بودن قالب اين زبان نترسيد چون تجربه نشون داده يادگيري اون براي افراد مبتدي از نسخه هاي قبلي آسون تر بوده.
بد نيست براي اينكه علت بوجود اومدن اون رو بفهميم يه نگاه به تفاوت هاي اين دوتا و قابليت هاي جديد AS3 بندازيم :
1-گزارش دقيقتر خطا ها
2-ارتقاي دستور زبان
3-معماري جديد سيستم نمايش(display)
4-معماري جديد مديريت اتفاقات (events)
5-ارتفاي امكانات ارتباط با XML
6-قابليت جديد كار با text ها
7-امكانات جديد مديريت صدا ها
8-قابليت جديد دسترسي به داده ها : مي تونيد به داده ها در حين دانلود دسترسي داشته باشيد!
9-ارتقاي برنامه نويس شي گرا
10-...
كاربران AS3 علاوه بر كار در محيط فلش مي تونند براي پلتفرم هاي جديد فلش مثل Flex و adobe AIR هم برنامه نويسي كنند . اگر چه يك پروژه AIR ميتونه شامل HTML ، PDF و Java Script هم باشه اما AS3 ابزار اصلي و جامع اين نوع اپليكشن هاست.
شروع :
1- تعريف متغير ها به همون شكل AS2 است :
PHP:
var myVariable:Number = 1;
PHP:
if (a == 1 && b == "goodbye") {
trace("options a and b");
}
for (var i:Number = 0; i < 3; i++) {
trace("hello");
}
switch (a) {
case 1 :
trace("one");
case 2 :
trace("two");
break;
}
while (num < .5) {
num = Math.random();
}
PHP:
var myArray:Array = new Array();
myArray.push(1);
trace(myArray)
// 1 appears in the Output panel
myArray.push(2);
// the array now has two items: 1, 2
trace(myArray.pop());
// the pop() method removes the last item, displaying its value of 2
trace(myArray)
// the lone remaining item in the array, 1, is displayed
PHP:
function showMsg(){
trace("hello");
}
showMsg();
PHP:
var plane:Object = new Object();
plane.pitch = 0;
plane.roll = 5;
plane.yaw = 5;
PHP:
this.mc.width;
Properties: شامل ويژگي هاي يك شي است مثل طول ، عرض ، شفافيت .
Methods: شامل كارهايي كه يك شي مي تونه انجام بده مثلا :play, stop,getUrl
Events: شامل همه اتفاقاتي كه ممكنه براي يك شي بيفته مثلا كليك شدن ، لود شدن ، درگ شدن و... . اين اتفاقات هنگام واقع شدن باعث اجرا شدن يك سري دستورات كه ما تعيين مي كنيم مي شوند .
EventHandlers واسته اي هست براي اينكه اتفاقات را به فانكشن ها مرتبط كنه . اين ويژگي چند تا تغيير كوچولو با AS2 داره :
PHP:
rotate_right_btn.addEventListener(MouseEvent.MOUSE_UP,onRotateRight);
function onRotateRight(evt:MouseEvent):void {
box.rotation += 20;
}
PHP:
myMovieClip.addEventListener(MouseEvent.MOUSE_DOWN, onStartDrag);
myMovieClip.addEventListener(MouseEvent.MOUSE_UP, onStopDrag);
function onStartDrag(evt:MouseEvent):void {
evt.target.startDrag();
} function onStopDrag(evt:MouseEvent):void {
evt.target.stopDrag();
}
- Frame Events :بدون شرح
PHP:
stage.addEventListener(Event.ENTER_FRAME,onFrameLoop);
function onFrameLoop(evt:Event):void {
cycle.x = mouseX;
cycle.wheel.rotation = mouseX;
}
-Timer Events :
همون طور كه مي دونيد enterFrame به علت ثابت بودن فريم ريت در بازه هاي زماني ثابت اتفاق مي افته . Timer Eventاين اجازه رو ميده تا يك فانكشن را در يك بازه زماني ديناميك و دلخواه صدا بزنيم . اين قابليت در AS2 بوسيله تابع setInterval() قابل پياده سازي بود .
PHP:
var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();
function onTimer(evt:TimerEvent):void {
watch.hand.rotation +=5;
}
آخرین ویرایش: