![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 92
|
знаний флэша хватило на написание больше половины работы, с остальным помогли разобраться на форуме.
но есть еще вопрос как доработать код чтобы после завершения функции public function cfline(e:TimerEvent) { ... } ее повторение начиналось не с исходного числа public var balanceXMLS:String="85390"; а продолжало дальше прибавлять +1 package {
import flash.display.*;
import flash.events.*;
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class counter extends MovieClip {
public var i:int;
public var str=String;
public var balanceXMLS:String="85390";
public function Init()
{
var timer:Timer = new Timer (5000);
timer.addEventListener(TimerEvent.TIMER, cfline);
timer.start();
}
public function cfline(e:TimerEvent)
{
str=String(Number(balanceXMLS)+1);
trace(str);
for (i = 0; i < 5; i++)
{
var ww = str.charAt(i);
if(i == 0)
{var my1Tween:Tween = new Tween(count.cfline_tw1,"y", None.easeNone, 10, -40*(9-1-ww)-800, 0.9, true);}
else if(i == 1)
{var my2Tween:Tween = new Tween(count.cfline_tw2,"y", None.easeNone, 10, -40*(9-1-ww)-800, 0.9, true);}
else if(i == 2)
{var my3Tween:Tween = new Tween(count.cfline_tw3,"y", None.easeNone, 10, -40*(9-1-ww)-800, 0.9, true);}
else if(i == 3)
{var my4Tween:Tween = new Tween(count.cfline_tw4,"y", None.easeNone, 10, -40*(9-1-ww)-800, 0.9, true);}
else if(i == 4)
{var my5Tween:Tween = new Tween(count.cfline_tw5,"y", None.easeNone, 10, -40*(9-1-ww)-800, 0.9, true);}
}
}
}}
|
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
1) Зачем вам i в членах класса? Она используется только в cfline, вот туда её и перенесите.
2) Зачем вы числа храните в виде строк? Почему бы их не хранить в виде чисел?) public class counter extends MovieClip { public var str:String; public var balanceXMLN:String=85390; public function Init() { var timer:Timer = new Timer (5000); timer.addEventListener(TimerEvent.TIMER, cfline); timer.start(); } public function cfline(e:TimerEvent) { balanceXMLN++; str=String(balanceXMLN); trace("Balance now: " + str); for (var i:int = 0; i < 5; i++) { var ww:String = str.charAt(i); if(i == 0) var my1Tween:Tween = new Tween(count.cfline_tw1,"y", None.easeNone, 10, -40*(9-1-ww)-800, 0.9, true); else if(i == 1) var my2Tween:Tween = new Tween(count.cfline_tw2,"y", None.easeNone, 10, -40*(9-1-ww)-800, 0.9, true); else if(i == 2) var my3Tween:Tween = new Tween(count.cfline_tw3,"y", None.easeNone, 10, -40*(9-1-ww)-800, 0.9, true); else if(i == 3) var my4Tween:Tween = new Tween(count.cfline_tw4,"y", None.easeNone, 10, -40*(9-1-ww)-800, 0.9, true); else var my5Tween:Tween = new Tween(count.cfline_tw5,"y", None.easeNone, 10, -40*(9-1-ww)-800, 0.9, true); } } } Через месяц вы не сможете вспомнить, что же за строка такая в ней хранилась.Последний раз редактировалось SamFR; 02.12.2009 в 16:11. |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 92
|
спасибо за советы я их учту в последующих работах.
но сейчас выдается ошибки 1184: Несовместимое значение по умолчанию типа int; ожидается String. 1067: Неявное приведение значения типа String к несоответствующему типу Number. я не знаю что это и как это исправлять (( может вас не затруднит объяснить что это и как исправить |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Ещё я не смог понять логику работы метода cfline. Наверное, что-то очень хитрое... Действительно: мы берём какое-то число и увеличиваем его на 1. Далее превращаем его в строку. Далее в цикле (!) создаём черыре локальных переменных и назначаем им твины, причём один из числовых параметров вычисляем как сложное авифметическое выражение, включающее в себя вычитание строки из числа. Далее этими переменными не пользуемся, так что они исчезнут после окончания работы метода.
Если не обращать внимание не вычитание строки (хотя на такое сложно не обращать внимания =), то метод можно абсолютно безболезненно переписать так: public function cfline(e:TimerEvent) { balanceXMLN++; str=String(balanceXMLN); trace("Balance now: " + str); var my1Tween:Tween = new Tween(count.cfline_tw1,"y", None.easeNone, 10, -40*(9-1-str.charAt(0))-800, 0.9, true); var my2Tween:Tween = new Tween(count.cfline_tw2,"y", None.easeNone, 10, -40*(9-1-str.charAt(1))-800, 0.9, true); var my3Tween:Tween = new Tween(count.cfline_tw3,"y", None.easeNone, 10, -40*(9-1-str.charAt(2))-800, 0.9, true); var my4Tween:Tween = new Tween(count.cfline_tw4,"y", None.easeNone, 10, -40*(9-1-str.charAt(3))-800, 0.9, true); var my5Tween:Tween = new Tween(count.cfline_tw5,"y", None.easeNone, 10, -40*(9-1-str.charAt(4))-800, 0.9, true); } Добавлено через 2 минуты Цитата:
![]() Последний раз редактировалось SamFR; 02.12.2009 в 16:11. |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 92
|
идея была в том что при получение числа начинают прокручиваться цифры и при каждом новом прокручивание они увеличиваются на 1
но я не смогла это реализовать другим способом кроме того что вы видите Последний раз редактировалось lissa81; 02.12.2009 в 16:09. |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
"Прокручивание цифр", если я правильно понял, осуществляется тут:
А зачем вы потом превращаете это число в строку и вычитаете отдельные её символы из какого-то числа? |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 92
|
изначально было что число приходило с сервера. потом это убралось и осталось просто одно число к которому нужно при каждой прокрутки +1.
и в итоге я настолько запуталась что совсем не понимаю что нужно делать чтоб исправить этот код. ((((( Добавлено через 2 минуты нет это balanceXMLN как раз число Добавлено через 10 минут SamFR: не хочет у меня работать ( выдает ошибки |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Для того, чтобы попытаться вам помочь, нужно увидеть весь код. А также чётко знать, что он должен делать, и как пытаетесь это сделать вы. Потому что, видимо, делаете вы что-то в корне неправильно (по крайней мере, судя по тому коду, что был приведён выше).
|
|
|||||
|
Регистрация: Oct 2009
Сообщений: 92
|
спасибо за помощь. с вашей подсказки нашла в чем ошибка и все исправила. теперь все работает.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|