Форум 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)
-   -   switch & case (http://www.flasher.ru/forum/showthread.php?t=125444)

asflint 24.05.2009 20:49

switch & case
 
Помогите пожалуйсто, а то голова уже отваливается))
есть переменная которая выдаёт рандомное число:
Код AS1/AS2:

var ID2load:Number = Math.floor(Math.random ()* 5)
}

как сделать чтоб при каждом движении мыши запрашивать у неё новое число и передовать с помощю:
Код AS1/AS2:

switch(ID2load){
case 0:
Num = 0;
trailCouleur = 0x00FFFF;
case 1:
Num = 1;
trailCouleur = 0xFF00FF;
case 2:
Num = 2;
trailCouleur = 0xFFFF00;
case 3:
Num = 3;
trailCouleur = 0x00FFFF;
case 4:
Num = 4;
trailCouleur = 0xFF00FF;
case 5:
Num = 5;
trailCouleur = 0xFFFF00;
}
}


VVall 24.05.2009 20:54

А где break'и в switch? В таком виде он работать не будет.

asflint 24.05.2009 20:56

Цитата:

Сообщение от VVall (Сообщение 822637)
А где break'и в switch? В таком виде он работать не будет.

а можно поподробнее о break'ах?

VVall 24.05.2009 20:59

Каждый case обычно должен закрываться break'ом, иначе после кода для этого case сработает следующий за ним case и так далее, пока не встретится break или не кончится switch.

asflint 24.05.2009 21:16

Исправил, проставил break'и. всё равно неполучается связать переменную с отправкой. вот весь мой кривой код)) Помогите))
Код AS1/AS2:

var ID2load:Number = Math.floor(Math.random ()* 5)
var clipListener:Object = new Object();
clipListener.onMouseMove = function(targetMc:MovieClip) {
switch(ID2load){
case 0:
Num = 0;
trailCouleur = 0x00FFFF;
break;
case 1:
Num = 1;
trailCouleur = 0xFF00FF;
break;
case 2:
Num = 2;
trailCouleur = 0xFFFF00;
break;
case 3:
Num = 3;
trailCouleur = 0x00FFFF;
break;
case 4:
Num = 4;
trailCouleur = 0xFF00FF;
break;
case 5:
Num = 5;
trailCouleur = 0xFFFF00;
break;
}
targetMc.text=Num;
}


Zik. 24.05.2009 21:17

а не проще if?

asflint 24.05.2009 21:37

Цитата:

Сообщение от ZIK68 (Сообщение 822643)
а не проще if?

каким образом

YaMedved 24.05.2009 21:39

У меня вопрос :
Как может быть
Код AS1/AS2:

targetMc.text

если
Код AS1/AS2:

targetMc:MovieClip

,и зачем его надо было объявлять в функции?

asflint 24.05.2009 21:59

попробовал через if и сново не получилось. вот весь код:
Код AS1/AS2:

Stage.scaleMode = "noScale";
Stage.align = "TL";
compteur = 1;
trailCouleur = 0x00C2FE;
var degres:Number = 0;
trailMc.onMouseMove = function() {
        var monTrail:MovieClip = this.attachMovie("ball", "Trail"+compteur, this.getNextHighestDepth());
        monTrail.blendMode = "add";
        trailCouleur = new Color(monTrail);
        trailCouleur.setRGB(trailCouleur);
        monTrail._x = _xmouse;
        monTrail._y = _ymouse;
        var dx = oldx-monTrail._x;
        var dy = oldy-monTrail._y;
        radians = Math.atan2(dy, dx);
        if (ID2load == 0 || ID2load == 3) {
                degres = radians*180/Math.PI;
        } else if (ID2load == 1 || ID2load == 4) {
                degres = random(360);
        } else if (ID2load == 2 || ID2load == 5) {
                degres = radians-90;
        } else {
                degres = -1*radians*180/Math.PI;
        }
        longueur = Math.sqrt(dx*dx+dy*dy);
        monTrail._rotation = degres;
        monTrail._xscale = monTrail._yscale=50;
        monTrail._alpha = 50;
        compteur++;
        oldx = monTrail._x;
        oldy = monTrail._y;
};
var ID2load:Number = Math.floor(Math.random()*5);
switch (ID2load) {
        case 0 :
                if (ID2load=0) {
                        trailCouleur = 0x00FFFF;
                }
                break;
        case 1 :
                if (ID2load=1) {
                        trailCouleur = 0xFF00FF;
                }
                break;
        case 2 :
                if (ID2load=2) {
                        trailCouleur = 0xFFFF00;
                }
                break;
        case 3 :
                if (ID2load=3) {
                        trailCouleur = 0x00FFFF;
                }
                break;
        case 4 :
                if (ID2load=4) {
                        trailCouleur = 0xFF00FF;
                }
                break;
        case 5 :
                if (ID2load=5) {
                        trailCouleur = 0xFFFF00;
                }
                break;
}}


Zik. 25.05.2009 08:27

если вы попробовали через if Тогда что у вас делает switch и case?
вы вообще if и switch знаете???
почитайте хелп в конце концов


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

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