Форум 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)
-   -   как мне контролировать эффект(правильное использование функций и лог. выражений) (http://www.flasher.ru/forum/showthread.php?t=140881)

Blackjack1616 09.06.2010 22:33

как мне контролировать эффект(правильное использование функций и лог. выражений)
 
Вложений: 1
Привет! есть код в нескольких слоях:

cursor:
Код AS1/AS2:

function createCursor(){
 
        hideCursor=attachMovie("cur","hCursorS",_root.getNextHighestDepth(),{_x:_xmouse,_y:_ymouse});
        hideCursor._alpha=100;
}
function controlCursor(){
        hideCursor.onEnterFrame = function(){
                hideCursor._x=_xmouse;
                hideCursor._y=_ymouse;
        }
}
function initCursor(){
        createCursor();
        controlCursor();
}

spr:
Код AS1/AS2:

function spriteVars(){
        cellSize = 50;
        lm = 8;
        mm = 8;
        k=0;
        xcoord=0;
        ycoord=0;
        spriteFalphaD=0;
        spriteFalphaA=30;
        spriteFalphaS=3;
 
        mu="qwe";
}
function randomFramesInit(){
 
        randomFramesNumb=random(totalFrameMC);
        if(randomFramesNumb==0){
        randomFramesNumb=1;
        }
        mcff.gotoAndStop(randomFramesNumb);
}
 
function spriteRollOverEffect(){
        mcff.onEnterFrame=function(){
                if(this.hitTest(hideCursor)){
                        this._alpha+=spriteFalphaS;
                }else{
                        this._alpha=this._alpha;
                }
                if(this._alpha==spriteFalphaA){
                        this._alpha=20;
                }
                spriteRollOverBack();
        }
 
}
function spriteRollOverBack(){
                if(this._alpha>=spriteFalphaA){
                        this._alpha-=spriteFalphaD;
 
                }
 
}
function spriteControl(){
        randomFramesInit();
        spriteRollOverEffect();
 
}
function matrixConstruct(){
 
        for (var im:Number = 0; im < lm; im++){
                        var ym:Number = im * cellSize;
 
                        for (var jm:Number = 0; jm < mm; jm++){
 
                        mcff= attachMovie(mu, "mc" + im + "_" + jm,_root.getNextHighestDepth());
 
                                mcff._x = (jm * cellSize)+xcoord;
                                mcff._y = (ym)+ycoord;
                                mcff._alpha=spriteFalphaD;
                                totalFrameMC = mcff._totalframes;
                                spriteControl();
                        }
        }
 
}       
function initFrameEffect(){
        spriteVars();
        createSpriteEffects();
        matrixConstruct();
}


begin:
Код AS1/AS2:

function initP(){
        initCursor();
        initFrameEffect();
}
 
initP();

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

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

почему код не работает? как надо делать правильно?

rainbowrussia 09.06.2010 23:04

Не запускал, но попробуйте заменить
Код:

this._alpha==spriteFalphaA
на
Код:

this._alpha>=spriteFalphaA

Blackjack1616 09.06.2010 23:09

там скорость увеличивается на значение spriteFalphaS, которое равно 3, а значение spriteFalphaA равно 30. поэтому надо >=.

Добавлено через 7 минут
черт! там все же получиться тридцать, но значение spriteFalphaS - оно может быть разным.

rainbowrussia 10.06.2010 00:07

Ничего не понял из последнего поста... но у вас есть код
Код:

this._alpha=20;
после которого добавляя по 3 к значению альфы сложно получить ровно 30.

Blackjack1616 10.06.2010 00:46

Вот это да! все блин работает, опять я чего то не заметил и написал на этот форум.

Спасибо большое, все работает.


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

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