مشاهدة النسخة كاملة : تسليط الضوء على الوظيفة hit test


البرنس_زاهر
23 Jul 2002, 05:19 PM
اولا قبل كل شيء انظر للملف المرفق جيداً وحاول ان تكتشف بعض الحركات بنفسك قبل ان نشرح هذه الحركة .


الشــــــرح :
1- ارسم مربع وبالضغط على F8 لتحويلة إلى موفي كليب . واسمي المربع بلأسم مثلاُ الحرف a عن طريق Instance في مربع النص name .
2- ارسم دائرة وحولها إلى زر ثم حولها مره اخرى إلى موفي كليب في نفس الوقت من غير ما تدخل إلى الزر . واسمي الموفي كليب حق الدائرة مثلا الحرف m .
لكي إذا دخلت على الدائرة وجدت نفسك في موفي كليب وإذا دخلت مره أخرى على الدائرة وجدت نفسك في زر .
3- اخرج إلى مسرح العمل وضغ حقل نصي واسمة t .
3- الان ادخل إلى موفي كليب الدائرة .
4- ضع هذا الكود في الفريم الأول :
-----------------------------------
if (_root.m, hittest(_root.a)) {
tellTarget ("/") {
t = "yes";
}
} else {
tellTarget ("/") {
t = "no";
}
}
-----------------------------------
ونفسره بالاتي :
وضعنا دالة if اي إذا صار كذا ومن بعد ذالك وضعنا الامر hittest وهذا هو موضوعنا .
اي إذا كان مرور الموفي كليب m على الموفي كليب a افعل ما يلي .
هل اتضحت الصورة جيداً .
سوف اوضح اكثر .
قلنا إذا كان الموفي كليب m ــــــ if (_root.m .
مر على الموفي كليب a ـــــــ hittest(_root.a) .
مر على = hittest .
افعل ما يلي .
هااااااااااا
الصورة الحين واضحة 100% وما يحتاج كلام .
وطبعا وضعنا جواب الشرط هو
t = yes
وإذا خالف الشرط هو :
t = no
اي إذا وضع الدائرة m على الموفي كليب المربع a . ارجع إلى الوراء طبعاً بأمر tellTarget ("/") واكتب في المتغير t = yes
وإذا لم خالف هذا الشرط ارجع إلى الوراء طبعاً بأمر tellTarget ("/") واكتب في المتغر t = no .

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


والطريقة هي : ( انا عارف إنكم فهمتوها من غير ما اشرحها )
اضغط على الدائرة بالزر اليمين واختار من القائمة action لتفتح لك قائمة الاكشن .
والصق هذا الكود :
-----------------------------------
on (press) {
startDrag ("/M", true);
}
on (release) {
stopDrag ();
}
-----------------------------------
سهل الكود صح مررررررررررررره سهل .
إيش يقول
إذا ضغط زر الماوس دع الموفي كليب يتحرك وراء الماوس
وإذا فك ضغط زر الماوس اترك اي تحرك وراء الماوس .
في اسهل من هذا الكود . :)

startDrag = تحرك وراء الماوس
stopDrag = إيقاف ما وراء الماوس .




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

فاشل بالفلاش
24 Jul 2002, 10:53 AM
هلا فيك اخوي البرنس زاهر

جزاك الله الف خير

تسلم يدينك على الشرح

مشكور وما تقصر


تحياتي

THE-TIGER
24 Jul 2002, 01:46 PM
جزاك الله عنا كل خير
بس يا خوي أقدر أسوي بالأكشن سكربت
مثلا في فريم واحد حركه وأكررها على باقي الفريمات

فاشل بالفلاش
25 Jul 2002, 03:05 AM
هلا فيك اخوي البرنس

ضبط معي الوضع

تطبيقي


width = 400 height = 300


تحاتي