Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Движение объекта посредством actionscript (http://www.flasher.ru/forum/showthread.php?t=108210)

Gidroponn 17.02.2008 19:04

Движение объекта посредством actionscript
 
Поскажите, как заставить объект двигаться с помощью action script?
Например, движение вправо при on(keyPress "<Right>")

MrPoma 17.02.2008 19:06

Код:

mc._x += 5;

Gidroponn 17.02.2008 19:09

а что такое mc?

Liox 17.02.2008 19:20

Это вашь обьект.
1.Выделяете вашь обьект и правой кнопкой мыши на нём, выберете convert to symbol -> moveclip
2. Выделяете мувиклип, снизу слева окна, есть окошечко instance name, там вводите mc.

Gidroponn 17.02.2008 19:35

спасибо, тольк вот у меня еще вопрос - а как сделать так, чтобы шарик не укатывался за пределы экрана? у меня не получается. он все равно уезжает :(

Код:

on(keyPress "<Right>")
{
        if (mc._x=='200') { }
        else {
        _x+= 5;
        }
}


udaaff 17.02.2008 19:45

Код:

mc.onPress = function() {
        var newX = this._x + 5;
        if (newX < Stage.width) {
                this._x = newX;
        }
}


Liox 17.02.2008 19:51

вашь вариант почему-то у меня не работает совсем... Какой flash у вас?
В Heple есть вот такая вещь...
Код:

var distance:Number = 10;
this.createTextField("display_txt", 999, 0, 0, 100, 20);
var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
    if (Key.isDown(Key.LEFT)) {
        mc._x = Math.max(mc._x - distance, 0);
        display_txt.text = "Left";
    } else if (Key.isDown(Key.RIGHT)) {
        mc._x = Math.min(mc._x + distance, Stage.width - mc._width);
        display_txt.text = "Right";
    } else if (Key.isDown(Key.UP)) {
        mc._y = Math.max(mc._y - distance, 0);
        display_txt.text = "Up";
    } else if (Key.isDown(Key.DOWN)) {
        mc._y = Math.min(mc._y + distance, Stage.height - mc._height);
        display_txt.text = "Down";
    }
};
Key.addListener(keyListener);

Попробуйте. У меня работает

Gidroponn 17.02.2008 19:55

у меня Macromedia Flash MX 2004 (version 7).
Udaff, и все равно вылезает за пределы окна.

Liox 17.02.2008 19:55

Проблема в вашем шарике, наверняка в том что он стоит не на нулевой позиции, поэтому он продолжает движение, или флэшь с координатами как всегда косячит... А вообще проконтролировать это можно в Control-> Debag move

Gidroponn 17.02.2008 19:58

ура, я гений.

Код:

on(keyPress "<Right>")
        {
        if (_x < 500) {
                _x += 15; }
        }



Часовой пояс GMT +4, время: 21:26.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.