Форум 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)
-   -   Взаимодействие объектов. (http://www.flasher.ru/forum/showthread.php?t=135137)

CHLameR 16.01.2010 16:59

Взаимодействие объектов.
 
Не знаю, что мне делать, переписывал код много раз. Как я себе все это представляю - оно должно работать. Но нет.
Есть два объекта MCball и MCplatform.
Платформа движется под управлением игрока, не выходит за границы экрана.
Шарик крепится сверху платформы и перемещаетя вместе с ней. (Это работает, пока я не добавляю следущее)
Ввожу переменную.
Если игрок нажимает Энтер, переменная становится равной 1.
Если переменная равна 1, шарик отделяется и летит вверх с заданной скоростью. Пока клавиша не нажата, шарик не летит а прикреплен к платформе.

Код AS1/AS2:

//Ball_speed - скорость шарика
var Ball_speed = 4;
//Ball_dx = скорость по  x
//Ball_dy = скорость по  y
var Ball_dx = 2*Math.cos((1-Math.random())*Math.PI)*Ball_speed;
var Ball_dy = Ball_speed;
var Counter: 0;
 
onEnterFrame = function()
{
 
//Если нажата кнопка
        if (Key.isDown(Key.ENTER)){
                Counter = 1;
        }
        else{
                Counter = 0;
        }
 
//Начальное положение шарика по отношению к платформе. Он прикреплен сверху к ней.
        //Если кнопка нажата, шарик летит со скоростью.
        if (Counter = 1){
                MCball._x = (MCball._x + Ball_dx);
                MCball._y = (MCball._y + Ball_dy);
        }
        else{
        MCball._x = (MCplatform._x - 1);
        MCBall._y = (MCplatform._y + 4.5);
        }
}

В итоге при запуске программы я наблюдаю - шарик сразу вылетает с платформы вверх по y и немного под углом. Предыдущая стабильная версия была без переменной Counter и скорости шарика, в ней он постоянно был прикреплен к платформе.
В чем может быть проблема в моем коде? Может что-то не то в определении нажата ли кнопка или нет - тем самым лететь шарику или быть прикрепленным?

mr_pol 16.01.2010 17:43

исправь условие на if (Counter == 1)

CHLameR 16.01.2010 18:06

Нашел еще ошибки, но это было конечно основным. Спасибо.


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

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