08-11-2006, 22:38
|
|
|
חבר מתאריך: 28.06.06
הודעות: 102
|
|
מקווה שתבין את הקוד:
קוד:
onClipEvent (enterFrame) {
var bound = this.getBounds(_root);
if (Key.isDown(Key.UP) && !_root.ground.hitTest(_x, bound.yMin, true)) {
this._y -= 1;
}
if (Key.isDown(Key.DOWN) && !_root.ground.hitTest(_x, bound.yMax, true)) {
this._y += 1;
}
if (Key.isDown(Key.LEFT) && !_root.ground.hitTest(bound.xMin, _y, true)) {
this._x -= 1;
}
if (Key.isDown(Key.RIGHT) && !_root.ground.hitTest(bound.xMax, _y, true)) {
this._x += 1;
}
}
כמה דברים:
1. אם הspeed גדול מ1 אפשר לעבור קירות (אז לעשות speed=1 ומטה ולהגדיל את הFPS, זה גם יצור משחקיות רצופה יותר וחלקה יותר)
2. גם ככה אפשר לעבור קירות... צריך עוד לשכלל את הקוד, אבל זה הבסיס
3. עדיף להשתמש בsetInterval במקום בonEnterFrame, גם לרכז את כל הקוד בפריים הראשי וגם שתהיה שליטה על המהירות ובאופן כללי זה נותן יותר שליטה...
4. למרכז את העיגול הזה של השחקן, אחרת זה יגרום לבעיות (עם הקוד שכתבתי)
5. אם משהו בקוד לא ברור תשאל ואני אסביר... פשוט אני מת מעייפות ואני חייב לעוף לישון אז אין לי כח להסביר כרגע
בהצלחה!
|