بسم الله الرحمن الرحيم
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
السلام عليكم ورحمة الله وبركاته
سبق أن تم شرح لكيفية الرسم في فلاش ضمن الرابط التالي :
http://sites.ienajah.com/vb2/showthread.php?t=29148
ولنكمل ما بدأناه ونبسط لكم اخوتي الكرام في محاولة لاستيعاب طريقة الرسم والتحكم في نظم الالوان .
لنبدأ بــــــــــــــــــــــــ
الرسم الطبيعي
1 - استدعاء كلاسات احداث الماوس وانشاء نسخة من كائن موفي كليب لنرسم داخله
كود:
import flash.events.MouseEvent; import flash.events.Event; var drawingLine: MovieClip = new MovieClip(); addChildAt(drawingLine, 0);
على أن يكون اتجاه السطر نفس اتجاه أو احداثيات الماوس في حالة الحركة Move
كود:
function MouseDown(event: MouseEvent): void { drawingLine.graphics.lineStyle(10, 0x990000); drawingLine.graphics.moveTo(mouseX, mouseY); stage.addEventListener(MouseEvent.MOUSE_MOVE, MouseMove); } function MouseMove(event: MouseEvent): void { drawingLine.graphics.lineTo(mouseX, mouseY); }
حذف حدث الاستماع للرسم والرسم مرتبط طبعا بحركة الماوس Move
4- أضفت زر clear_btn في المشروع لافراغ أو مسح الرسم
كود:
clear_btn.addEventListener(MouseEvent.CLICK, clearScreen); function clearScreen(event: MouseEvent): void { drawingLine.graphics.clear(); }
ارسم على الفلاش
[flash=http://dc22.arabsh.com/uploads/flash/2016/12/23/0d33454b6cf1.swf]WIDTH=700 HEIGHT=500[/flash]
الرسم المتقدم
بنفس طريقة الرسم العادي يمكن أن نقوم برسم متقدم بالاستعانة بكلاس flash.filters.GlowFilter
هذا الكلاس أخي الكريم يضفي على الرسم جمالية من خلال دوال التوهج glow والضبابية blur والشادو shadow الخ ..
وطبعا كالعادة لانشاء مشروع رسم متقدم نستحضر الكلاسات اللازمة
1-
كود:
import flash.display.Sprite; import flash.filters.GlowFilter; import flash.events.MouseEvent; import flash.events.Event; import fl.controls.ColorPicker; import fl.events.ColorPickerEvent;
2-
الاعلان عن متغيرات تخص الالوان وسمك الخط ودرجة التوهج والضبابية
كود:
var baseColor = 0xFFFFFF; var glowColor = 0xFF0000; var baseStrength = 15; var glowStrength =10; var glowBlur = 10;
انشاء نسخة من كلاس سبرايت لنرسم داخله
كود:
var sprite:Sprite = new Sprite(); addChild(sprite);
دالة تجهيز نوع الرسم والقيم المطلوبة
وفي الدالة مصفوفة لاحتواء بكسلات الجرافيك
5- حدث استماع للمسرح stage في حالة ضغط الماوس أن يتبع الرسم احداثيات الماوس
بقيم الللون المطلوب وحذف الجرافيك عند رفع اليد على الماوس
كود:
stage.addEventListener(MouseEvent.MOUSE_DOWN, BeginFill); function BeginFill(m:MouseEvent) { sprite.graphics.lineStyle(baseStrength, baseColor); sprite.graphics.moveTo(mouseX, mouseY); addEventListener(Event.ENTER_FRAME, loop); } stage.addEventListener(MouseEvent.MOUSE_UP, stopFill); function stopFill(m:MouseEvent) { removeEventListener(Event.ENTER_FRAME, loop); } function loop(e:Event) { if (mouseX < 600) { sprite.graphics.lineTo(mouseX, mouseY); } }
أضفت في المشروع نسختين من مكون Componet كولر بيكر Color Picker بسام cp1 و cp2 لاختيار اللون منها وهذا الكود
كود:
cp1.addEventListener(ColorPickerEvent.CHANGE, changeHandler1); function changeHandler1(event:ColorPickerEvent):void { sprite.graphics.clear(); baseColor = event.target.selectedColor; } cp2.addEventListener(ColorPickerEvent.CHANGE, changeHandler2); function changeHandler2(event:ColorPickerEvent):void { glowColor = event.target.selectedColor; sprite.graphics.clear(); updateFilter(); }
كود:
clear_btn.addEventListener(MouseEvent.CLICK, clear); function clear(event:MouseEvent):void { sprite.graphics.clear(); updateFilter(); }
[flash=http://dc22.arabsh.com/uploads/flash/2016/12/23/0d33454b6cf0.swf]WIDTH=700 HEIGHT=500[/flash]
====== يمكن أخي الكريم أن تطبق هذا المشروع على نظام أندرويد بنفس الاكواد وتقدمه لابنك الصغير لتعلم الحروف
وطبعا يمكن أن تطوره ببعض الصور مثلا أو أصوات حروف الخ ....
الملف المفتوح في المرفقات

تعليق