Help - Search - Members - Calendar
Full Version: Flash HELP
photoshop és webszerkesztés - tutorial.hu > www.tutorial.hu > Flash alapok, programozás és szoftverek
Pages: 1, 2, 3, 4, 5, 6, 7
Oden
Sziasztok!

Egy hete próbálkozom az as3-mal, több kevesebb sikerrel. Írtam ezért egy kódot, ami libraryból beolvas néhány képet(:MovieClip), majd azoknak a pozíciionálásával cserélgetem őket. Ez addig tökéletesen működik amíg el nem kezdek játszadozni az addEventListener függvénnyel és a képek alfa csatornájával. A kód a következő:

CODE
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.utils.setInterval;

/**
* Library items, converted to MovieClips
*/
var image_movieclip_array:Array = [
    Image1,
    Image2,
    Image3
]

// Initialize vars
var stage_img_array:Array = new Array();
var prev_img:Number = 2;
var curr_img:Number = 0;


for(var i = 0; i < image_movieclip_array.length; i++){
    var img:MovieClip = new image_movieclip_array[i]();
    addChild(img);
    stage_img_array.push(img);

    if(i < 2)
        stage_img_array[i].alpha = 0;
}

function imageRotator()
{
    this.swapChildren(stage_img_array[prev_img],stage_img_array[curr_img])

    stage_img_array[prev_img].addEventListener(Event.ENTER_FRAME, fl_FadeSymbolOut);
    stage_img_array[curr_img].addEventListener(Event.ENTER_FRAME, fl_FadeSymbolIn);

    /**
     * This branch sets the next lineup
     */
    if(this.curr_img <= 2)
    {
        this.prev_img = this.curr_img;
        this.curr_img += 1;
    }

    if(this.curr_img == 2)
        this.curr_img = 0;
}

var interval = setInterval(imageRotator,5000);


function fl_FadeSymbolIn(event:Event):void
{
    stage_img_array[curr_img].alpha += 0.02;
    if(stage_img_array[curr_img].alpha >= 1)
    {
        stage_img_array[curr_img].removeEventListener(Event.ENTER_FRAME, fl_FadeSymbolIn);
    }
}

function fl_FadeSymbolOut(event:Event):void
{
    stage_img_array[prev_img].alpha -= 0.02;
    if(stage_img_array[prev_img].alpha <= 0)
    {
        stage_img_array[prev_img].removeEventListener(Event.ENTER_FRAME, fl_FadeSymbolOut);
    }
}


A tünet amit generál, nagyon furcsa (legalábbis számomra) ugyanis az első és a második kép közti átmenetet szépen létrehozza, majd egyet kihagy (tehát dupla annyi ideig marad benn) utána bevillan az a kép aminek a 2. cserénél jönnie kellett volna, amit aztán felülír az a kép, ami normálisan jelenik meg. Ezután pedig a korábbihoz képest, őrült sebességgel váltakoznak a képek.

(Ha valaki szeretne pár potyapontot so-n: http://stackoverflow.com/questions/3075497...ps-load-random)
jana93
Sziasztok!

Régen jártam erre smile.gif

Az az ötlet jött a fejünkbe, hogy szeretnénk csinálni a szobatársammal egy kvíz jellegű játékot, amiben 4 válasz közül lehetne választani, 1 percen belül a játékosnak. (Esetleg az elején témaválasztás lehetne). Egyikőnk sem készített még játékot, de olvastuk, hogy valószínűleg a flash lenne a jó megoldás erre. Ti mit gondoltok erről? Esetleg másra beszélnétek rá minket? Megoldható lenne Flashben ez?

BlackY
Flashben és JavaScriptben is megoldható, egyikben sem kell hozzá túl sok kód (1-1 kilobyteból kényelmesen kihozható szvsz.).

BlackY
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.