
29-09-2009, 00:19
|
|
|
|
חבר מתאריך: 29.09.07
הודעות: 136
|
|
|
למישהו יש משו יותר מהיר, לבדיקת מגע...
כבר כמה זמן שאני מנסה למצא משו לבדיקת מגע מדויקת (hitTest לא מדויק) ואני יודע שחייבת להיות תשובה כי כל משחקי הפלאש כמעט עובדים על העיקרון של בדיקה מדויקת מתי mc נוגע mc אחר אז נברתי בהיסטוריה של הפורום ומצאתי את זה:
קוד:
function ci(collision){
collision=false;
var ri:Number = _root.mc1._y-(_root.mc1._height/2);
var ti:Number = _root.mc1._x-(_root.mc1._width/2);
for(i=1+ri;i<_root.mc1._height+ri;i++)
for(j=1+ti;j<_root.mc1._width+ti;j++)
if(_root.mc1.hitTest(j,i,true)&&_root.mc2.hitTest(j,i,true))
collision=true;
if(collision)
trace("a collision has acured");
}
coize = setInterval(ci,1);
הבעיה שהיא הייתה נורא איטית תקעה את הפלאש כזה הקפיאה אותו לכמה שניות
אז ניסיתי את זה:
קוד:
function ci(collision){
collision=false;
var ri:Number = _root.mc1._y-(_root.mc1._height/2);
var ti:Number = _root.mc1._x-(_root.mc1._width/2);
for(i=1+ri;i<_root.mc1._height+ri;i++)
for(j=1+ti;j<_root.mc1._width+ti;j++)
if(_root.mc1.hitTest(j,i,true)&&_root.mc2.hitTest(j,i,true))
collision=true;
if(collision)
trace("a collision has acured");
}
function cio(){
if(_root.mc1.hitTest(_root.mc2)){
ci();
}
}
coize = setInterval(cio,1);
אבל גם זה לא משו למישהו יש דרך יותר טובה? (ראיתי משו על bitmap data או משו כזה אבל לא ממש הבנתי איך זה עובד!)
בבקשה תעזרו לי...
_____________________________________
"ואני אומר - ששנים דרושים למשחק!"
|