
08-10-2005, 01:20
|
|
|
|
חבר מתאריך: 03.09.05
הודעות: 2,857
|
|
|
כן
תשתמש בפונקצית "()MovieClip.hitTest"
הפונקציה מחזירה לך ערך בוליאני של true במידה ויש חפיפה, במידה ואין, מן הסתם - false
אם תרצה לחשב צורה שהיא יותר מסתם ריבוע, תצטרך להכניס עוד כמה ערכים(אפרט אם תרצה)
אתה יכול לשלב את הפונקציה עם משפט תנאי על מנת לבצע פעולה כלשהו בעת החפיפה:
קוד:
if(MovieClip.hitTest(MovieClip2)
{
trace("combination is a good thing!")
}
את הבדיקה הזו אתה כבר יכול לשלב בפונקצית enterframe על מנת ליצורבדיקה בלתי פוסקת.
אך תמיד, לפני שאתה יוצר enterframe, בדוק את כל האופציות, יתכן ויש לך דרך יותר יעילה הגוזלת פחות משאבים (או אותה כמות משאבים לזמן מוגבל).
לדוגמה, הבדיקה תתבצע רק כאשר יש תנועה עם העכבר :
קוד:
onClipEvent(mouseMove)
{
if(MovieClip.hitTest(MovieClip2)
{
trace("combination is a good thing!");
}
}
עוד דוגמה, הבדיקה תפעל רק כאשר אתה גורר את המוביקליפ:
קוד:
//frame code
function hitTester()
{
if(MovieClip.hitTest(MovieClip2)
{
trace("combination is a good thing!");
}
}
//button code
on(press)
{
MovieClip.startDrag();
intervalId=setInterval(hitTester(),10);
trace("now i'm checking for hitting")
}
on(release)
{
MovieClip.stopDrag();
clearInterval(intervalId);
trace("and now i'm not")
}
_____________________________________
נערך לאחרונה ע"י -FoxyBrain- בתאריך 08-10-2005 בשעה 01:24.
|