الثلاثاء، 18 نوفمبر 2014

مشروع لعبة ثقافية على الفيسبوك


نقوم حاليا بانشاء مشروع كبير يضم الملايين من الاسئلة
 في مختلف المجالات قبل ان ننشئ لعبة ثقافية و تنافسية
 تجمع الالاف من الاعبين
يمكن للجميع اضافة سؤال او مجموعة من الاسئلة
لكن يتعرف عليها ناس اخرون و تعم الفائدة
يشرفنا اضافة سؤال و مشاركة اصدقائك

تابع القراءة Résuméabuiyad

الأربعاء، 12 نوفمبر 2014

تعلم AS3 - جزء3 [ display list] - الدرس 3 - [قائمة الأطفال الدخلية لكائن جرافيكي]


السلام عليكم و رحمة الله
مرحبا بكم في هذا الجزء الجديد من دورة تعلم الاكشن سكربت3 

في الدرس السابق  رأينا طريقة انشاء كائن جرافيكي عن طريق الكلمة new 
و قلنا أنه سيكون مخزّن في الذاكرة المركزية و لن يظهر على الشاشة إلاّ بعد استعداء الدالة addChild
فنقول ان الكائن الجديد ابن الكائن الذي يحتويه



_______________________________________________________


قائمة الأطفال الدخلية  لكائن جرافيكي:

لكل كائن من نوع DisplayObjectContainer   
قائمة أطفال موجودة داخل جدول. حيث أن كل أندكس (خانة) نجد طفلا (كائن جرافيكي).
هذا الجدول (وكما رأينا في درس الجداول ) يبدأ من الصفر (الخانة الاولى = الاندكس 0 )
اخر كائن في الجدول (الذي يملك اكبر أندكس)  يظهر على الشاشة فوق الكائنات الأخرى (سنراه لاحقا)


مثال
لدينا كائن من نوع MovieClip يحتوي على كائن من نوع Shape
و كائنين من نوع Sprite 
(الكلاسات MovieClip , Spriteترث من الكلاس DisplayObjectContainer اذن هي كائنات من هذا  النوع
بينما الكلاس Shape ترث من الكلاس DisplayObject)


var myMc : MovieClip = new MovieClip();
addChild(myMc);

var myShape : Shape = new Shape();
myMc.addChild(myShape);

for(var i:int = 0; i<2 ; i++)
{     
      var mySp:Sprite = new Sprite();
       myMc.addChild(mySp);
}

trace( myMc.numChildren); // 3

في هذا الكود أنشأنا كائنا من نوع MovieClip و وضعناه داخل ال MainTimeline
اذا هذا الكائن الان موجود داخل الجدول الداخلي الخاص بقائمة أطفال MainTimeline
داخل الحلقة التكرارية ننشئ كائنات من نوع Sprite  و نضيفها داخل الكائن myMc
اذا تلك الكائنات الان موجودة داخل الجدول الخاص بقائمة اطفال الكائن myMc

في درس الجداول كنا نستعمل الخاصية length لمعرفة طول الجدول
لكن لمعرفة طول الجدول (عدد أطفال) الخاص بقائمة الاطفال نستعمل الخاصية numChildren

اذن يمكن تمثيل الشجرة هكذا

Stage
|
MainTimeline
|
 DisplayObjectContainer (MovieClip)
|
[  DisplayObject , DisplayObjectContainer , DisplayObjectContainer ]
index 0                                 index  1                         index  2


الدالة addChild تشبه الدالة push التي رأيناها في درس الجداول
فهي تضيف كائن جرافيكي الى جدول الأطفال
حيث تقوم بإضافته في اخر القائمة و هذا يعني انه في الشاشة سيظهر فوق كل الكائنات الجرافيكية .
و لكن هناك طريقة أخرى لإضافة الكائن في index من اختيارنا نحن المبرمجون 
و هذا عن طريق الدالة addChildAt


______________________________________________


الدالة addChildAt:

كود الدالة
public function addChildAt(Child : DisplayObject, index : int) :DisplayObject


الدالة addChildAt تقبل مدخلا ثانيا و هو index و الذي سنضع فيه الكائن من نوع DisplayObject
داخل قائمة الأطفال الخاصة بكائن اخر من نوع DisplayObjectContainer

اليكم هذا المثال

var mc : MovieClip = new MovieClip();
addChild(mc);

var mySprite : Sprite = new Sprite();
addChildAt(mySprite, 0);

في السطر الثاني من الكود يتم اضافة الكائن mc الى قائمة الاطفال الجرافيكية الخاصة ب MainTimeline
الكائن mc يملك الاندس 0 حاليا
ثم أنشأنا كائنا من نوع Sprite 
و أضفناه عن طريق الدالة addChildAt الى قائمة اطفال ال MainTimeline
الكائن sprite لن يأخذ الأندكس 1 لأننا لم نضفه عن طريق الدالة addChild
و انما سيأخذ الاندكس 0 بينما الكائن الاول (mc) سينتقل الى الاندكس 1 (لن يُحذف و إنما ينتقل الى أنكس اخر)


قبل استعمال الدالة addChildAt يجب التأكد من أن الاندكس الذي نريد وضع الكائن فيه موجود
فلو عدنا الى الكود السابق
addChildAt(mySprite, 0 )

يمكن وضع الكائن الحالي في الاندكس 0 (كأول طفل)
لو غيرنا القيمة 0 الى 1 تبقى صحيحة
لأن ال MainTimeline يملك طفلا (و هو mc من نوع MovieClip) في الاندكس 0
و هذا ما يعني أن الطفل الجديد يمكن أن يحمل الاندكس 1

لكن لو جرّبنا هذا الكود


var mc : MovieClip new MovieClip();
addChild(mc);

var mySprite : Sprite = new Sprite();
addChildAt(mySprite, 5);

سنتحصل على رسالة خطأ من نوع RangeError
و هذا راجع الى أن الاندكس الذي نريد أن نضع فيه الطفل الجديد خارج المجال.

لتصحيح هذا الخطأ يجب أن تكون قيمة الأندكس للطفل الجديد أصغل من أو تساوي numChildren الخاص ب DisplayObjectContainer
و أكبر من أو يساوي 0


___________________________________

في الدرس القادم سنرى مختلف الطرق التي تمكننا من الدخول الى طفل ما موجود في القائمة لكي نُجري عليه 
مختلف العمليات (كتغيير موقعه في الشاشة, أو زاويته ..الخ)

تابع القراءة Résuméabuiyad

الثلاثاء، 11 نوفمبر 2014

تعلم AS3 - جزء3 [ display list] - الدرس 2 - [انشاء كائن جرافيكي ]


السلام عليكم و رحمة الله
مرحبا بكم في هذا الجزء الجديد من دورة تعلم الاكشن سكربت3 

في الدرس السابق  رأينا عدة مفاهيم مهمة عن الكلاسات الجرافيكية و أنواعها 
و الحزم الخاصة لها

في هذا الدرس  سنرى كيفية انشاء كائنات (instance) الخاصة بتلك الكلاسات
و اضافتها الى المسرح





_______________________________

في الدرس السابق قلنا أن هناك ثلاث أنواع من الكائنات الجرافيكية و هي
1. flash.display.DisplayObject
 flash.display.InteractiveObject(TextField, SimpleButton) .2
3. (flash.display.DisplayObjectContainer (Loader, Sprite , Stage




من بين هذه الكلاسات, هناك كلاسات يمكننا أن ننشئ منها  كائنات (كما رأينا في الجزء السابق عن طريق الكلمة new)
و هناك كلاسات أخرى (تدعى abstract classes) حيث لا يمكننا أن نرث منها و لا انشاء instance لها
__________________________

الكلاسات التي يمكننا انشاء كائنات منها:

1. الكلاسات الموجودة في الحزمة flash.display 

Bitmap و  BitmapData: (سنراها في جزء لاحق) .
Shape: تعتبر هذه الكلاس أساس كل محتوى vector (الرسومات الفكتورية) , و هي مرتبطة مع API الخاص بالرسم بفضل الخاصية graphics.
SimpleButton: هذه الكلاس تمكننا من انشاء الأزرار بصفة ديناميكية, (هذا لم يكن ممكنا في النسخ السابقة من الاكشن سكربت ) .
Loader: هذه الكلاس تسيّر تحميل أي محتوى جرافيكي خارجي (تحميل ملف swf , png, gif, jpg ..الخ).
Sprite: هذه الكلاس هي MovieClip مخفّف.
MovieClip:  هي الكلاس الجرافيكية الاكثر غنا , غنية بالخصائص و الدوال, و هي مرتبطة بالانيمشن. 

2. الكلاسات الموجودة في الحزمة flash.media

Video: هذه الكلاس  تهتم بعرض تدفقات الفيديو القادمة عن طريق كامرا (webCam) أو سرفر للبث الحي أو ملفات الفيديو من نوع MP4, FLV, ...الخ


3. الكلاسات الموجودة في الحزمة flash.text
TextField: تسيير النصوص يتم عن طريق الكلاس TextField.



الكلاسات التي لا يمكن انشاء كائنات منها:

مجودة في الحزمة flash.display 

AVM1Movie: عندما نقوم بتعميل ملف SWF مبرمج بالاكشن سكربت 1 أو 2 داخل مشروع أكشن سكربت 3,  قارئ الفلاش يضع
                    الانيمشن  الخاص بالنسخ السابقة داخل كائن AVM1Movie, اذن لا يمكننا انشاء كائن من هذا النوع عن طريق البرمجة.
InteractiveObject: هذه الكلاس مختصة في التعامل مع سلوك المستدخم كالضغط على الماوس أو لوحة المفاتيح مثلا.
MorphShape: يمكننا برنامج الفلاش من صنع (interpolation) للأشكال, تلك الاشكال تكون من نوع MorphShape التي ينشئها الفلاش
                      أوتوماتيكيا (فقط الفلاش من يستطيع انشاء كائنات من هذا النوع)
 StaticText: هذه الكلاس تخص النصوص الثابتة, التي تُنشئ عن طريق برنامج الفلاش بشكل يدوي.
         

Stage: و هو الحاوي الأساسي لكل الكائنات الجرافيكية.
___________________________________

لانشاء كائن خاص بكلاس معين نستعمل الطريقة التي رأيناها في الجزاء الثاني  الخاص بالكلاس
يعني عن طريق الكلمة الدلالية new .

مثلا هذا الكود لانشاء كائن من نوع MovieClip 

var myMc : MovieClip = new MovieClip();

بنفس الطريقة اذا أردنا ادخال حقل للنصوص بشكل ديناميكي
var myText : TextField = new TextField();
myText.text = "Hello as3arabic";

(الخاصية text في كائن TextField تخص النص المكتوب بداخله)

__________________________________

نبقى مع الكود الثاني 

import flash.text.TextField;
var myText : TextField new TextField();
myText.text = "Hello as3arabic";


بفضل هذا الكود, يقوم الكمبيوتر بانشاء كائن من نوع TextField و يضعه في مكان ما داخل الذاكرة المركزية
إلاّ أنه لن يُعرض على الشاشة (أي أننا لم نُضفه بعد الى قائمة display list)

اذا جربنا هذا الكود و قمنا بتشغيل البرنامج سنرى ان المشهد يبقى فارغا و لا هناك لنص مكتوب فيه Hello as3arabic.

_____________________________________

إظهار الكائن الجرافيكي على الشاشة:

عند انشاء كائن جرافيكي عن طريق new 
هذا الاخير لن يظهر مباشرة على الشاشة 
فهو مخزن فقط داخل الذاكرة المركزية
في هذه الحالة يسمى ب كائن جرافيكي خارج قائمة العرض
لاضافته الى قائمة نستعمل احدى الدالتين الموجودتين داخل الكلاس DisplayObjectContainer
وهي: addChild أو addChildAt.

___________________________________________

الدالة addChild :

هذا هو كود الدالة 

public function addChild(child:DisplayObject): DisplayObject

هذه الدالة تستقبل مدخلا واحدا من نوع DisplayObject.
لاضافة كائن جرافيكي الى قائمة العرض (display list) يجب علينا أن نضيفه داخل كائن من نوع DisplayObjectContainer
موجود في القائمة. نقول ان الكائن الجديد هو ابن الكائن الذي يحتويه .

نعود الى المثال السابق
var myText TextField new TextField();



myText.text = "Hello as3arabic";
addChild( myText );

 جربنا هذا الكود سنجد  النص Hello as3arabic ظاهرا على الشاشة.
حيث تم اضافة الكائن myText الى ال MainTimeline 
اذن قائمة العرض الجديدة (الشجرة) أصبحث هكذا

Stage
|
MainTimeline 
|
(myText : TextField)

__________________
من أهم مميزات الدالة addChild في الاكشن سكربت 3 هو تغيير الحاوي بسهولة
ففي النسخ السابقة اذا انشأنا كائنا B داخل كائن A
(يعني B ابن A)
ثم اذا أردنا  أن نستبدل الاب A بكائن اخر C 
فيجب علينا حذف الكائن B تماما
قم اعادة انشاء كائن مماثل له
و اخيرا وضعه داخل الكائن C
ليصبح C أب الكائن B.


في الأكشن سكربت 3 بمجرد استدعاء الدالة addChild لاضافة كائن جديد الى قائمة العرض
في حالة ما كان هذا الاخير موجودا في القائمة
سيتم اوتوماتيكيا حذف الكائن من مكانه الاصلي 
و ادخاله داخل كائن DisplayObjectContainer الذي قام باستدعاء الدالة addChild.

مثال


import flash.display.MovieClip; 
import flash.display.Sprite;

var myClip : MovieClip = new MovieClip(); // انشاء كائن موفي كليب فارغ

 //MainTimeline اضافته الى قائمة العرض ; هو الان ابن مباشر ل 
addChild(myClip);

trace( numChildren ); //1 

var mySprite : Sprite = new Sprite(); // انشاء كائن سبرايت فارغ

 //MainTimeline اضافته الى قائمة العرض ; هو الان ابن مباشر ل 
addChild( mySprite );

trace( numChildren); // 2 

mySprite.addChild( myClip );

trace(numChildren); //1
trace(mySprite.numChildren); //1


في هذا الكود أنشأنا كائنين 
الاول من نوع MovieClip و الثاني من نوع Sprite
قمنا باضافة الكائن الاول الى قائمة العرض كابن ل MainTimeline
لهذا أظهرت لنا( trace (numChildren القيمة 1
ثم أضفنا الكائن الثاني بنفس الطريقة فأظهرت لنا 2
أي ان MainTimeline يحتوى على طفلين

فأصبحت الشجرة هكذا

Stage
|
MainTimeline
\/
myClip   mySprite

ثم استعملنا هذا الكود
mySprite.addChild( myClip );

تم حذف الكائن myClip من MainTimeline و  وضعه داخل الكائن mySprite


Stage 
|
MainTimeline
|
mySprite
|
myClip

اذن اصبح لل MainTimeline طفلا واحدا بدلا من 2
و mySprite أيضا كما يبينه الشكل


لمستعملي النسخة الثانية من الاكشن سكربت
لا يوجد دالة مشابهة ل duplicateMovieClip في الاكشن سكرب 3 

___________________________________________________________

في الدرس القادم سنتعمق أكثر في هذا المجال و نرى كيف يتم ترتيب الكائنات داخل القائمة و كيفية الدخول اليها 
و سنتعرف أيضا على معنى العمق (depth) و كيفية تغييره ..الخ 
تابع القراءة Résuméabuiyad

الاثنين، 10 نوفمبر 2014

تعلم AS3 - جزء3 [ display list] - الدرس 1 [الكلاسات الجرافيكية]

السلام عليكم و رحمة الله
مرحبا بكم في هذا الجزء الجديد من دورة تعلم الاكشن سكربت3

العنوان (display list (liste d'affichage 





_____________________________________________________________

في الجزء ثاني تكلمنا عن الكلاسات و خصائصها
كيفية انشائها, و وضها في حزم خاصة (packages)و  تعرفنا على الكثير من المفاهيم المهمة

في هذا الدرس سنرى أنواعا جديدة من الكلاسات و هي الكلاسات الجرافيكية



الكلاسات الجرافيكية :

هي كلاسات جاهزة في الفلاش , طريقة انشائها كما سبق و رأينا في الجزء السابق
إلاّ أنّها  مرئية و نعني بهذا ان هذه الكائنات هي رسومات جرافيكية قد تكون أيقونات أو أشكال هندسية أو أزرار 
يراها المستخدم على الشاشة.

في الأكشن سكربت 3, كل الكلاسات الجرافيكية مخزّنة في ثلاث حزم (packages) مخلفة  و هي
flash.display
flash.media
flash.text

اليكم هذه الشجرة عن كيفية انشائها حيث كل كلاس في الاسفل ترث من الكلاس في الأعلى 





في هذا الشكل نرى كل الكلاسات الجرافيكية التي يمكننا استعمالها في برمجتنا بالأكشن سكربت 3

لماذا كل هذا العدد الكبير  من الكلاسات الجرافيكية؟

في النسخ السابقة من الاكشن سكربت كانت هناك أربع كلاسات جرافيكية فقط و هي 
MovieClip , Button , TextField, BitmapData

و لكن الاكشن سكربت 3 يهتم كثيرا بتبسيط و تخفيف البرامج لكي لا يستهلك الكثير من الموارد
(الذاكرة المركزية مثلا)

كمثال بيسيط 
في النسخة السابقة الكائن الوحيد الذي يمكننا من رسم شكل بسيط كان من نوع  MovieClip  
و هذا يعني ان هذا الكائن يملك كل خصائص  و دوال ال MovieClip و التي تحمل في الذاكرة المركزية
إلاّ أنّنا لا نحتاجها جميعا وهذا يعني ان كل تلك المعلومات المخزنة في الذاكرة غير ضرورية
 فكل ما نحتاجه هو رسم بسيط نضعه في الشاشة 
في الاكشن سكربت 3 للقيام نفس الشئ يمكننا استعمال الكلاس Shape الأكثر خفة


_____________________________


في الجزء الثاني  في درس التوريث قلنا أن كل كلاس بنت  تدعى (subclass) ترث من الكلاس الام (super class)
مثلا dog يرث من animal
نقول أن كل كائن نوع dog هو كائن من نوع animal
يعني كل dog هو animal

في الأكشن سكربت 3 هناك ثلاث أنواع من الكائنات الجرافيكية


1. flash.display.DisplayObject

في الشكل السابق نرى أن كل الكلاسات الجرافيكية ترث من الكلاس DisplayObject
( flash.display.DisplayObject)

اذن كل كائن جرافيكي يعرض على الشاشة هو من نوع DisplayObject (الازرار, النصوص, الأنيمشن ..الخ)
فهذه الكلاس تحتوي على كل الخصائص الخاصة بالكائن الجرافيكي كالموقع في الشاشة (position)
الزاوية (rotation)..الخ

2. flash.display.InteractiveObject

نبقى دائما في الشكل السابق حيث نلاحظ أن هناك ثلاث كلاسات ترث من الكلاس InteractiveObject
و نقصد ب interactive التفاعل 
يعني أن كل كائن من نوع InteractiveObject هو كائن يتفاعل مع ما يقوم به المستخدم كالضغط على الماوس او لوحة المفاتيح 

3.flash.display.DisplayObjectContainer

الكائنات من نوع DisplayObjectContainer يمكنها  أن تحتوي على كائنات جرافيكية أخرى 
و الذي تسمى بالكائن الابن (Child) 
اذن كل الكلاسات التي ترث من هذه الكلاس تدعى ب" حاويات الكائنات الجرافيكية"


_______________________________

خلاصة:
-يجب علينا استعمال الكلاس الأكثر خفّة (حسب احتياجنا).
-الكلاسات الجرافيكية موجودة في ثلاث حزم (packages) و هي
flash.display , flash.media, flash.text.

____________________________________________________________________



Display List :

(هذه المعلومات قد تكون صعبة الفهم في البداية لكن سيتم شرحها بالصور  و بالتفصيل)

عندما نقوم بتشغيل برنامجنا الفلاشي (عن طريق قارئ الفلاش flash player)
يقوم هذا الاخير بانشاء كائنين (DisplayObject)  / حتى لو كان البرنامج فارغا /
الاول و هو Stage و هو الذي سيحتوي على كل الكائنات الجرافيكية (الجذر)
و الثاني هو المشهد الرئيسيالكائنMainTimeline  لملف  SWF .

اذن Stage يحوي MainTimeline.
عند اضافة اي كائن (زر أو رسم أو أنمي ...الخ) في المسرح الرئيسي, ستكون هذه الكائنات أبناء ال MainTimeline
 و يمكن لتلك الكائنات ان تحتوي -أي تكون أب- لكائنات اخرى ....الخ

هذه الشجرة (hierarchy) تسمى ب Display List



______________________________________________


تطبيق:

لكي نتأكد من صحة هذا, نقوم بانشاء مشروع ActionScript3 فارغ
ثم نكتب هذا الكود


trace(this);  // MainTimeline
trace(this.parent); // Stage

السطر الاول, الكلمة this تعني المشهد الرئيسي الذي كتبنا فيه الكود و هو كما نرى MainTimeline
أب المشهد الرئيسي كما سبق و رأينا هو Stage و هو الجذر في الشجرة السابقة

لمعرفة عدد أطفال أي كائن من نوع DisplayObjectContainer نستعمل الخاصية numChildren.

___________________________________________

numChildren :

هذه الخاصية مهمة تمكننا من معرفة عدد أطفال أي كائن جرافيكي من نوع DisplayObjectContainer
 يعني (Loader, Sprite, Stage)

فلننشئ مشروع اكشن سكربت 3 فارغ و نكتب ما يلي

trace(this.numChildren);  // 0 
trace(stage.numChildren); // 1 

السطر الاول سيكتب لنا 0 لان المشروع فارغ و لا يوجد أي كائن في المسرح الرئيسي
اذا ليس هناك أي طفل لل MainTimeline

أما السطر الثاني فيكتب لنا 1 فكما نعلم ان Stage يملك طفلا و هو mainTimeline

اذا أضفنا  زرا ما على المسرح الرئيسي فالسطر الاول لن يبقى 0 بل يصبح 1 
يعني ان ال MainTimeline يملك طفلا واحدا (وهو الزر)
السطر الثاني يبقى 1  أيضا ف Stage له طفل مباشر واحد و هو MainTimeline

الشجرة تصبح هكذا

Stage
|
MainTimeline 
|
SimpleButton
_______________________________________________________


في الدرس القادم سنرى كيفية انشاء كائنات (instance) من الكلاسات الجرافيكية عن طريق 
الأشكن سكربت 3 و اظهارها على الشاشة
تابع القراءة Résuméabuiyad

السبت، 8 نوفمبر 2014

تعلم AS3 - جزء2 [ OOP ] - الدرس 5 [كلاسات جاهزة و مهمة]

السلام عليكم و رحمة الله
مرحبا بكم في درس جديد من دورة تعلم الاكشن سكربت3

سنرى في هذا الدرس بعض الكلاسات المهمة و الجاهزة في الاكشن سكربت 3
و التي قد نحتاجها في أي وقت 





يجب معرفة معنى الكلاس و الخصائص ( كما سبق و رأينا في الدروس السابقة)
و كيفية انشاء كائن خاص بالكلاس قبل قراءة هذا الدرس
و أيضا فهم الداول و المداخل 
مثلا
functionName(param: int):Number
هذه الدالة اسمها fuctionName تأخذ مدخلا واحدا من نوع int و ترجع لنا قيمة من  نوع Number


functionName(param: int = 5 ):Number
مثل الدالة السابقة لكن الفرق  هنا أن المدخل ليس اجباري ففي حالة عدم وضعه سيأخذ القيمة 5 
يعني عندما نستدعي هذه الدالة بهذه الطريقة
functionName();
كأننا استدعيناها  هكذا
functionName(5);

____________________________________________


String
   هذه الكلاس سبق و ان رأيناها في الجزء الأول و هي الخاصة بالسلاسل الحرفية

أهم الدوال (methods) الخاصة بالكلاس String:

 charAt(index:Number = 0):String : ترجع  لنا الحرف الموجود في الموقع المحدد بالمدخل index

charCodeAt(index:Number = 0):Number :  ترجع لنا رقم الحرف الموجود في الاندكس المعطى
الذاكرة المركزية تخزن كل شئ على شكل أعداد فلا يمكن كتابة 'a'  داخل الذاكرة 
و انما يتم تخزينه بالعدد 97 و هذا الكود يدعى كود ASCII
لما نريد اظهار الحرف a يقوم الكمبيوتر بتحويله من 97 الى الحرف a

concat(... args):String : هذه الدالة تأخذ عدة سلاسل حرفية كمدخل -او سلسلة واحدة- و ترجعها لنا على شكل سلسلة واحدة يعني انها تفوم بالصاقها, مثلا 
var a:String = "a";
var b:String = "b";
var c:String = "c";
var abc:String = a.concat(b,c);
trace(abc);  // abc
trace(a);  //a


كما نرى فالمتغير abc قيمته "abc" فلقد تم الصاق قيمة المتغيرات aو b و c في سلسلة واحدة
دون تغيير قيمتهم الأصلية (يعني المتغير a قيمته تبقى دائما "a" .. )

toLowerCase():String : ترجع لنا الاحرف الصغيرة 
toUpperCase():String : ترجع لنا الاحرف الكبيرة

__________________

أهم attribute 
length : int :  يحتوي على طول السلسلة الحرفية (عدد الاحرف)


لمزيد من المعلومات حول الكلاس String اضغط هنا 
____________________________________________________________

سأذكر بعض الكلاسات الاخرى المهمة مع وضع رابط مباشر للموقع adobe التي يحتوي على الشرح

MovieClip(سنراه في الجزء القادم)
Bitmap (سنخصص لها جزءا كاملا)




تابع القراءة Résuméabuiyad

جميع الحقوق محفوظة لمدونة 2014-2015 as3arabic |