azizsoft
20-09-2013, 09:36 PM
بسم الله الرحمن الرحيم
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
السلام عليكم ورحمة الله وبركاته
قلنا أن لغة اكشن سكريبت 3 توفر ثلاثة تقنيات للتعامل مع تنسيقات النصوص Text Formatting وهي على النحو التالي:
htmlText
flash.text.TextFormat
flash.text.StyleSheet
htmlText : تتيح لنا هاته الخاصية استغلال أوسمة html والتي تعرف بـــ HTML tags المثال أسفله سيوضح الأمر
var monTexte:TextField = new TextField();
monTexte.autoSize = TextFieldAutoSize.LEFT;
monTexte.text = "هذا نص عادي";
addChild ( monTexte );
لاحظ هنا الخاصية text. مشغل الفلاش يرجع قيمة سالبة بدون اي معلومات لتنسيق النص
عكس ذلك اذا اضفنا الخاصية htmlText يرجع مشغل الفلاش قيمة النص مع مكتبة " تاقات
الهشتمل" HTMLTags ان شاء الله وصلت الفكرة عموما اليك المثال التوضيحي
افتح برنامج الفلاش حدد الطبقة الأولى اضغظ F9 الصق الكود التالي واضغط Ctrl+ Enter
var monTexte:TextField = new TextField();
monTexte.autoSize = TextFieldAutoSize.LEFT;
monTexte.text = " HTML السلام عليكم ورحمة الله وبركاته هذا نص بصيغة ";
addChild ( monTexte );
trace( monTexte.text );
اغلق الملف عدد للكود غير السطر الأخير من الكود بالسطر التالي
trace( monTexte.htmlText );
اذن نلاحظ أنه عند استغلال الخاصية htmlText تمكننا من تحكم وتنسيق اكثر بالنصوص من خلال تاقات الهشتمل HTML Tags
مثال يمكن تغيير اللون باضافة الخاصية textColor
تحت السطر الأول من الكود السابق اضف الكود التالي :
monTexte.textColor = 0x990000;
اذن نستخلص أنه بامكاننا ادراج محتوى نصي بصيغة HTML عبر مختلف خصائص الكلاس TextField
وذلك باستغلال الخاصية htmlText لاحظ الكود التالي :
var monTexte:TextField = new TextField();
monTexte.autoSize = TextFieldAutoSize.LEFT;
monTexte.textColor = 0x990000;
monTexte.htmlText = "abc4web. <b>net</b>";
addChild ( monTexte );
بعد المعاينة غير الان كامل السطر قبل الأخير بالكود التالي :
monTexte.htmlText = "abc4 <font color='#FF0000'>web.</font> <b>net</b>";
هل لاحظت أخي الكريم أننا نستطيع تفيير خصائص النص أو الكلمات من خلال اضافة لون معين أو حجم .... الخ ...
ملاحظة :
خاصية html في كلاس TextField لاتوجد اطلاقا في ActionScript 3 بل انه بمجرد الاعلان عن خاصية
htmlText نقدر نستغل كل تاقات الهشتمل HTML Tags التي يدعمها البرنامج
classe TextFormat
هذا الكلاس يحتوي على خصائص عديدة تساعد على تحكم أكثر بالنصوص وطبعا لامكانية استغلاله يجب
كخطوة أولى إنشاء الكائن TextFormat ثم نتولى بعد ذلك تحديد خصائص التنسيق نوضح الأمر بالكود
var monTexte:TextField = new TextField();
monTexte.autoSize = TextFieldAutoSize.LEFT;
monTexte.text = "abc4web.net/vb";
addChild ( monTexte );
// انشاء نسخة من كلاس TextFormat وحفظه في متغير باسم miseEnForme
var miseEnForme:TextFormat = new TextFormat();
// استدعاء خاصية سماكة الخظ
miseEnForme.bold = true;
//تغيير حجم الخط
miseEnForme.size = 25;
//تغيير نوع الكتابة
miseEnForme.font = "Verdana";
// أمر تطبيق التنسيقات الجديدة
monTexte.setTextFormat( miseEnForme );
لاحظ اخي الكريم أنه يمكن ايضا تطبيق التنسيقات على كلمة وسطة جملة نريد مثلا تكبير كلمة Web فقط
غير السطر الأخير بالسطر التالي :
monTexte.setTextFormat( miseEnForme, 4, 7);
يعني هنا برنامج الفلاش يحسب الحروف كلها وقيمة 4 هي بداية الاندكس و7 هي نهاية الاندكس
غير مثلا 4 الى 3 و7 الى 6 وعاين وستفهم النتيجة
classe StyleSheet
هاته الطريقة متقدمة نوعا باعتبار أنه يجب تجهيز مستند خارجي باكواد css وتحفظ بهذا الامتداد ويتم استدعاءها في برنامج
الفلاش عن طريق URLLoader وبالتالي استغلال كامل ميزات css وما تحتويه من مؤثرات جمالية على النصوص ويمكن ايضا
التعامل مباشرة مع هاته الخصائص عن طريق الاكشن سكريبت ولاحظ الطريقة في الجزء الثالث من الموضوع .
نواصل غدا ان شاء الله الجزء الثالث
استودعكم الله
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
السلام عليكم ورحمة الله وبركاته
قلنا أن لغة اكشن سكريبت 3 توفر ثلاثة تقنيات للتعامل مع تنسيقات النصوص Text Formatting وهي على النحو التالي:
htmlText
flash.text.TextFormat
flash.text.StyleSheet
htmlText : تتيح لنا هاته الخاصية استغلال أوسمة html والتي تعرف بـــ HTML tags المثال أسفله سيوضح الأمر
var monTexte:TextField = new TextField();
monTexte.autoSize = TextFieldAutoSize.LEFT;
monTexte.text = "هذا نص عادي";
addChild ( monTexte );
لاحظ هنا الخاصية text. مشغل الفلاش يرجع قيمة سالبة بدون اي معلومات لتنسيق النص
عكس ذلك اذا اضفنا الخاصية htmlText يرجع مشغل الفلاش قيمة النص مع مكتبة " تاقات
الهشتمل" HTMLTags ان شاء الله وصلت الفكرة عموما اليك المثال التوضيحي
افتح برنامج الفلاش حدد الطبقة الأولى اضغظ F9 الصق الكود التالي واضغط Ctrl+ Enter
var monTexte:TextField = new TextField();
monTexte.autoSize = TextFieldAutoSize.LEFT;
monTexte.text = " HTML السلام عليكم ورحمة الله وبركاته هذا نص بصيغة ";
addChild ( monTexte );
trace( monTexte.text );
اغلق الملف عدد للكود غير السطر الأخير من الكود بالسطر التالي
trace( monTexte.htmlText );
اذن نلاحظ أنه عند استغلال الخاصية htmlText تمكننا من تحكم وتنسيق اكثر بالنصوص من خلال تاقات الهشتمل HTML Tags
مثال يمكن تغيير اللون باضافة الخاصية textColor
تحت السطر الأول من الكود السابق اضف الكود التالي :
monTexte.textColor = 0x990000;
اذن نستخلص أنه بامكاننا ادراج محتوى نصي بصيغة HTML عبر مختلف خصائص الكلاس TextField
وذلك باستغلال الخاصية htmlText لاحظ الكود التالي :
var monTexte:TextField = new TextField();
monTexte.autoSize = TextFieldAutoSize.LEFT;
monTexte.textColor = 0x990000;
monTexte.htmlText = "abc4web. <b>net</b>";
addChild ( monTexte );
بعد المعاينة غير الان كامل السطر قبل الأخير بالكود التالي :
monTexte.htmlText = "abc4 <font color='#FF0000'>web.</font> <b>net</b>";
هل لاحظت أخي الكريم أننا نستطيع تفيير خصائص النص أو الكلمات من خلال اضافة لون معين أو حجم .... الخ ...
ملاحظة :
خاصية html في كلاس TextField لاتوجد اطلاقا في ActionScript 3 بل انه بمجرد الاعلان عن خاصية
htmlText نقدر نستغل كل تاقات الهشتمل HTML Tags التي يدعمها البرنامج
classe TextFormat
هذا الكلاس يحتوي على خصائص عديدة تساعد على تحكم أكثر بالنصوص وطبعا لامكانية استغلاله يجب
كخطوة أولى إنشاء الكائن TextFormat ثم نتولى بعد ذلك تحديد خصائص التنسيق نوضح الأمر بالكود
var monTexte:TextField = new TextField();
monTexte.autoSize = TextFieldAutoSize.LEFT;
monTexte.text = "abc4web.net/vb";
addChild ( monTexte );
// انشاء نسخة من كلاس TextFormat وحفظه في متغير باسم miseEnForme
var miseEnForme:TextFormat = new TextFormat();
// استدعاء خاصية سماكة الخظ
miseEnForme.bold = true;
//تغيير حجم الخط
miseEnForme.size = 25;
//تغيير نوع الكتابة
miseEnForme.font = "Verdana";
// أمر تطبيق التنسيقات الجديدة
monTexte.setTextFormat( miseEnForme );
لاحظ اخي الكريم أنه يمكن ايضا تطبيق التنسيقات على كلمة وسطة جملة نريد مثلا تكبير كلمة Web فقط
غير السطر الأخير بالسطر التالي :
monTexte.setTextFormat( miseEnForme, 4, 7);
يعني هنا برنامج الفلاش يحسب الحروف كلها وقيمة 4 هي بداية الاندكس و7 هي نهاية الاندكس
غير مثلا 4 الى 3 و7 الى 6 وعاين وستفهم النتيجة
classe StyleSheet
هاته الطريقة متقدمة نوعا باعتبار أنه يجب تجهيز مستند خارجي باكواد css وتحفظ بهذا الامتداد ويتم استدعاءها في برنامج
الفلاش عن طريق URLLoader وبالتالي استغلال كامل ميزات css وما تحتويه من مؤثرات جمالية على النصوص ويمكن ايضا
التعامل مباشرة مع هاته الخصائص عن طريق الاكشن سكريبت ولاحظ الطريقة في الجزء الثالث من الموضوع .
نواصل غدا ان شاء الله الجزء الثالث
استودعكم الله