Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Событие MOUSE_WHEEL (http://www.flasher.ru/forum/showthread.php?t=185357)

Riki 10.10.2012 20:26

Событие MOUSE_WHEEL
 
Вопрос: Есть код, который позволяет колесиком двигать квадратик вверх и вниз, как сделать так что бы один прокрутик колесиком вниз/вверх обновлял поле score_txt, и добавлял туда число.
Код AS1/AS2:

import flash.events.MouseEvent;
score_txt.text="0";
function handleMouseWheel(event:MouseEvent):void {
        if ((event.delta > 0 && box_mc.y < 270) || (event.delta < 0 && box_mc.y > 0)) {
                box_mc.y = box_mc.y + (event.delta * 3);               
        }
}
stage.addEventListener(MouseEvent.MOUSE_WHEEL, handleMouseWheel);

Заранее благодарен.

Silicium 10.10.2012 20:45

Вы шутите? Там же, внутри условия пишите: score_txt.text = score.toString(); где score - переменная, хранящая число. Что это такое и где его брать - это уж Вы нам скажите)

Riki 10.10.2012 20:49

Да я знаю как выводить значение, вы мне подскажите, как мне этот score добавить, я пихал туда переменную i:Number = 0, после писал i++, после выводил score_txt.text = String(i), и оно обновляло 1 раз и i равнялась 1, и все больше i не менялась

Silicium 10.10.2012 21:30

покажите код с i. i точно должно было увеличиваться. Для приведения числа к строковому представлению используйте метод toString();

Riki 10.10.2012 21:41

Код AS1/AS2:

import flash.events.MouseEvent;
score_txt.text="0";
function handleMouseWheel(event:MouseEvent):void {
var i:Number = 0;
        if ((event.delta > 0 && box_mc.y < 270) || (event.delta < 0 && box_mc.y > 0)) {
                box_mc.y = box_mc.y + (event.delta * 3);
                i++;
                score_txt.text = String(i); //или же score_txt.text = i.toString();
        }
}
stage.addEventListener(MouseEvent.MOUSE_WHEEL, handleMouseWheel);


Krusty 10.10.2012 21:45

Вы не понимаете, как работает асинхронная модель.
Код AS3:

var i:Number = 0;

инициализируется при каждом событии мыши. После обработки события переменная не будет существовать.
Соответственно,
Код AS3:

var i:Number = 0;

должно быть вне handleMouseWheel

Riki 10.10.2012 21:57

Я черезвыйчайно протупил, спасибо)


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

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