Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Простой счётчик. (http://www.flasher.ru/forum/showthread.php?t=212590)

Comer 19.03.2016 15:57

Простой счётчик.
 
Подскажите, пожалуйста, как сделать простой переключатель swf, чтобы при каждом клике на кнопку цифры в динамическом поле менялись в порядке возрастания.
Помогите, пожалуйста! Очень нужно!

undefined 19.03.2016 16:36

Это же элементарно,Ватсон!
Код AS3:

var n:uint=0;
myTF.text=n+"";
myBtn.addEventListener(MouseEvent.CLICK,onClick);
function onClick(e:MouseEvent):void {
n++;
myTF.text=n+"";
}

myBtn, myTF - кнопка и текстовое поле соответственно.

Tails 19.03.2016 16:36

undefined,
У чисел есть метод toString()

Comer 19.03.2016 16:40

Цитата:

Сообщение от undefined (Сообщение 1192801)
myBtn, myTF - кнопка и текстовое поле соответственно.

Огромное Вм спасибо! Всё работает!

Добавлено через 5 минут
Цитата:

Сообщение от Tails (Сообщение 1192802)
undefined,
У чисел есть метод toString()

Но теперь есть задачка посложнее. Мне нужно, чтобы после того, как пользователь накликает какое-то число, закроет приложение, а потом при его повторном открытии в поле было бы видно то число, которое было при закрытии.
Я знаю, что сделать это можно, используя метод SharedObject. Но это и всё. Увы!
Не могли бы Вы мне подсказать, как сохранить последнее число, чтобы оно показывалось при повторном открытии приложения?

Добавлено через 36 минут
Цитата:

Сообщение от Tails (Сообщение 1192802)
undefined,
У чисел есть метод toString()

Вот у меня есть код, который должен сохранять последнее число, на котором было закрыто приложение. Но в данном случае он не работает. Что тут надо изменить, чтобы заработало?

Код AS3:

var sharedObj:SharedObject = SharedObject.getLocal("frameSave");
 
 
save_mc.addEventListener(MouseEvent.CLICK, save_click);
load_mc.addEventListener(MouseEvent.CLICK, load_click);
 
 
function save_click(e:MouseEvent):void
{
        sharedObj.data.frameNum = myTF.text=n+"";
        trace("Сохранёно число", sharedObj.data.frameNum );
}
 
function load_click(e:MouseEvent):void
{
        var frame:Number = sharedObj.data.frameNum;
        if(frame)
        {
                myTF.text=n+"";
                trace("Загружено число", frame);
        }
}

Здесь save_mc - кнопка для сохранения последнего числа,
load_mc - кнопка для загрузки последнего числа.

Wolsh 19.03.2016 18:10

Просто определитесь, где и как Вы это число обзываете.
Код AS3:

function save_click(e:MouseEvent):void
{
        sharedObj.data.frameNum = n;
        myTF.text=n+"";
        trace("Сохранёно число", sharedObj.data.frameNum );
}
 
function load_click(e:MouseEvent):void
{
        var frame:Number = sharedObj.data.frameNum;
        if(frame)
        {
                myTF.text=frame+"";
                trace("Загружено число", frame);
        }
}


Comer 19.03.2016 18:18

Цитата:

Сообщение от Wolsh (Сообщение 1192806)
Просто определитесь, где и как Вы это число обзываете.

Ага, понятно. С этим разобрался. Уже загружается нужное число. Но только опять возникла проблема. При дальнейшем кликании на кнопку отсчёт идёт не с загруженного числа, а с 1 (с единицы). Как это можно победить?

Wolsh 19.03.2016 18:23

Просто определитесь, где и как Вы это число обзываете.

Кликами Вы изменяете n, а то, что читаете из SO, называете frame.
Это две разных переменных. Может, так?
Код AS3:

function load_click(e:MouseEvent):void
{
        n = sharedObj.data.frameNum;
        if (n)
        {
                myTF.text=n+"";
                trace("Загружено число", n);
        }
}


Comer 19.03.2016 18:30

Цитата:

Сообщение от Wolsh (Сообщение 1192808)
Может, так?

Точно! Именно так! Огромное Вам спасибо!
Мой самый любимый форум! Всегда подскажут, помогут...

Добавлено через 2 часа 58 минут
Цитата:

Сообщение от Wolsh (Сообщение 1192808)
Кликами Вы изменяете n, а то, что читаете из SO, называете frame.

Знаете, я вот начал собирать воедино свой проект, и выяснилось, что мне недостаточно того, что при каждом клике на кнопку числа идут в порядке возрастания только на 1. А можно как-то сделать так, чтобы при каждом клике они увеличивались, ну скажем, на 5 ? Я пробовал самостоятельно изменить код, но у меня ничего не получилось. Я добился только того, что они стали увеличиваться на 10, или 100. А мне нужно на 5.
Сможете мне помочь с этим разобраться?

KiL33 20.03.2016 15:37

как то так
Код AS3:

var n:uint=5;
myTF.text=n+"";
myBtn.addEventListener(MouseEvent.CLICK,onClick);
function onClick(e:MouseEvent):void {
        var count:uint = uint(myTF.text)+n;
        myTF.text=count+"";
}


undefined 20.03.2016 16:59

вообще странно как можно догадаться как увеличивать на 100, но на 5 не осилить.


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

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