![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2006
Сообщений: 15
|
Цитата:
![]() Цитата:
|
|
|||||
|
Регистрация: Oct 2006
Сообщений: 15
|
Цитата:
|
|
|||||
|
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
|
Modus ponens
|
var _keyListener:Object = {};
var pers:MovieClip = _root.attachMovie("pers", "pers", 2, {_x:Stage.width/2, _y:Stage.height/2});
var bg:MovieClip = _root.attachMovie("bg", "bg", 0, {_x:Stage.width/2, _y:Stage.height/2});
_keyListener.onKeyDown = function() {
switch (Key.getCode()) {
case Key.SPACE :
pers.shoot();
break;
case Key.LEFT :
if (bg._x-bg._width/2<-10) {
bg._x += 10;
}
break;
case Key.UP :
if (bg._y-bg._height/2<-10) {
bg._y += 10;
}
pers.jump();
break;
case Key.RIGHT :
if (bg._x+bg._width/2>Stage.width+10) {
bg._x -= 10;
}
break;
case Key.DOWN :
if (bg._y+bg._height/2>Stage.height+10) {
bg._y -= 10;
}
pers.duck();
break;
}
};
pers.shoot = function() {
this.gotoAndPlay("shoot");
};
pers.jump = function() {
this.gotoAndPlay("jump");
};
pers.duck = function() {
this.gotoAndPlay("duck");
};
Key.addListener(_keyListener);
Исходник не выкладываю, вроде и так все понятно...
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 15
|
спасибо конечно, но это не то что нужно. я пытался внедрить в свой файл различные скрипты из предложенного, но там есть одна проблема - программное построение карты
пытался повозиться, модифицировал коды из разных движков- получилось вот это, но вот оно почему-то не прокручивается http://www.daylarts.ru/Untitled-3.fla |
|
|||||
|
Modus ponens
|
ну так а с какой стати карта должна прокручиваться если ты ее вообще не двигаешь, а двигаешь персонажа? =) То, что ты делаешь - не логично. Персонаж должен быть все время по центру, а _какрта_ должна двигаться.
Ну, если совсем просто: допиши во всех местах, где ты двигаешь персонажа смещение для _root'a такое же, как и для персонажа, только со зеаком минус =) onClipEvent (load) {
_root.speed = 4.2;
gravity = 1;
jump = 15;
_root.speedy = 0;
}
onClipEvent (enterFrame) {
_x += _root.speedx;
_y += _root.speedy;
_root._x -= _root.speedx;
_root._y -= _root.speedy;
if (_root.area.hitTest(_x, _y+_height/2, true) == false) {
fall1 = true;
} else {
fall1 = false;
}
if (_root.area.hitTest(_x-_width/2, _y, true) == false and _root.area.hitTest(_x-_width/4, _y+_height/4, true) == false) {
fall2 = true;
} else {
fall2 = false;
_x += 0.21;
}
if (_root.area.hitTest(_x+_width/2, _y, true) == false and _root.area.hitTest(_x+_width/4, _y+_height/4, true) == false) {
fall3 = true;
} else {
fall3 = false;
_x -= 0.21;
_root._x += 0.21;
}
if (fall1 == true and fall2 == true and fall3 == true) {
_root.speedy += gravity;
} else {
_root.speedy = 0;
}
if (fall1 == false and fall2 == false and fall3 == false) {
_y -= 1;
_root._y += 1;
}
if (Key.isDown(Key.LEFT)) {
if (_root.area.hitTest(_x-_width/2, _y, true) == false and _root.area.hitTest(_x-_width/4, _y+_height/5, true) == false) {
_x -= _root.speed;
_root._x += _root.speed;
}
}
if (Key.isDown(Key.RIGHT)) {
if (_root.area.hitTest(_x+_width/2, _y, true) == false and _root.area.hitTest(_x+_width/4, _y+_height/5, true) == false) {
_x += _root.speed;
_root._x -= _root.speed;
}
}
if (Key.isDown(68)) {
_root.clipper.gotoAndStop("jump");
if (fall1 == false or fall2 == false or fall3 == false) {
_root.speedy = -jump;
}
}
if (_root.area.hitTest(_x, _y-_height/2, true) == true) {
_root.speedy = 2.1;
_root.clipper.gotoAndStop("head");
}
}
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 27.10.2006 в 16:12. |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 15
|
thanks. вроде бы все работает, только кое-где на стенах глючит.
PS я как выяснилось отправил старую версию, в ней еще не было кода прокрутки=) |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 15
|
единственная проблема нового кода - когда остановить персонажа у левой стены и надавить клавишу "влево", _root ни с того ни с сего смещается на 1 пиксел влево.
![]() |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 15
|
скорее всего, значения скоростей в координатах и движении должны быть прямо пропорциональные. сейчас попробую разобраться.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:27. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|