Система начисления ролловеров

2-й: ИЗМЕНИТЬ

Это почти делает это. Если счетчик достигает 350, и я перемещаю мышь вниз, теперь он перескакивает на 250. Я просто хочу, чтобы он начал обратный отсчет. т.е. 349, 348, 347 и так далее. Что мне нужно изменить?

//Function
function countUp(e:TimerEvent):void{
if (mouseY < 180)
{
myMc.myTxt.text = (String(count+countTimer.currentCount));
}
else{
myMc.myTxt.text = (String(count-countTimer.currentCount));
}
}

EDIT: Что мне нужно написать в AS3, чтобы динамическое текстовое поле увеличивалось с шагом 1, если пользователь наводит курсор на верхнюю половину экрана, и уменьшалось с шагом 1, если пользователь наводит курсор в нижней половине экрана? Цель, это не игра. Это представить идею для приложения.

Оригинал: мне нужна помощь или, скорее, большая помощь в разработке кода, который будет давать пользователю + баллы за то, что он находится в верхней половине экрана, и минус баллы за то, что он находится в нижней части. .

+


-

То, что у меня сейчас есть, на самом деле не делает ничего из этого, я просто пытался заставить все маски работать, и они, наконец, работают.

Я включил код, чтобы предложить как можно больше информации о моем конкретном проекте. Также есть еще несколько строк, которые меняют цвет циферблата, когда пользователь наводит курсор на определенные цветные полосы. Я могу опубликовать это, если это поможет.

Чтобы прояснить сцену, часть циферблата со стрелкой отслеживает движение мыши пользователя. Всегда указывая на него. Полосы при переворачивании меняют цвет указанного циферблата. «73M» является статическим, а также «POINTS», но значение 380 является динамическим. Это та строка, на которую мне нужно повлиять.

Если что-то неясно, пожалуйста, не стесняйтесь спрашивать, я занимался этим всю ночь, так что есть шанс, что я так увлекся, что не могу видеть прямо.

Вот изображение, если оно поможет: http://www.dropmocks.com/mBKQEe альтернативная ссылка: http://imgur.com/fMp2j Боюсь, у меня нет представителей, чтобы встроить это.

Динамический текст

//Variables
var count:Number = 300;
var countTimer:Timer = new Timer(200,count);
var counter:TextField = myMc.myTxt;

//Event Listener
countTimer.addEventListener(TimerEvent.TIMER, countUp);

//Init
countTimer.start();
counter.text = "300";

//Function
function countUp(e:TimerEvent):void{
myMc.myTxt.text = (String(count+countTimer.currentCount));
}

И отслеживание мыши

// This is for the mouse tracking //
stage.addEventListener("mouseMove",directionFollow);

function directionFollow(e:MouseEvent):void {

var a1 = mouseY - direction1.y;
var b1 = mouseX - direction1.x;
var radians1 = Math.atan2(a1,b1);
var degrees1 = radians1 / (Math.PI / 180);
direction1.rotation = degrees1;
}

person Community    schedule 15.01.2012    source источник
comment
Если что-то неясно, пожалуйста, не стесняйтесь спрашивать - я думаю, вам, вероятно, нужно отредактировать свой вопрос, чтобы было более ясно, чего вы хотите достичь. Какова цель вашего проекта, это игра? Что вы подразумеваете под пользователем, находящимся в верхней половине экрана?   -  person Lars Blåsjö    schedule 15.01.2012
comment
Надеюсь, это прояснит ситуацию, отредактируйте вверху оригинального поста.   -  person    schedule 15.01.2012


Ответы (1)


Что ж, прямо сейчас вы берете среднее начальное количество (300) и изменяете его на основе счетчика Таймера. Проблема с этим довольно проста. Таймер currentCount будет увеличиваться и никогда не уменьшится.

Итак, скажем, currentCount равен 50. Тогда count + currentCount равно 350, а count - currentCount равно 250. Вместо того, чтобы изменять его таким образом, измените переменную count напрямую, например так:

function countUp(e:TimerEvent):void {
    if (mouseY < 180) {
        count++;
    } else {
        count--;
    }
    mcMc.myTxt.text = String(count);
}

Это просто увеличит/уменьшит переменную count в зависимости от того, где находится мышь. В вашем исходном примере count никогда не менялось. Здесь ++ и -- увеличиваются или уменьшаются на единицу соответственно. Их также можно записать так:

count += 1;
count -= 1;

или это:

count = count + 1;
count = count - 1;

Все они означают одно и то же, но проще использовать ++ и --.

person Alexis King    schedule 15.01.2012