Salve a tutti, non ho dimestichezza con as3, ma mi trovo a dover aggiungere un preloader ad un file swf che mi funge da sfondo per un sito in ajax (all'interno ho un video che si spalma su tutta al finestra).
Il codice del preloader che vorrei aggiungere al 1° fotogramma è questo:
Il problema è che il file fla che dovrebbe accogliere questo preloader è strutturato nel seguente modo:Codice PHP:import flash.display.*;
this.stop();
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, PL_LOADING);
function PL_LOADING(event:ProgressEvent):void {
var pcent:Number=event.bytesLoaded/event.bytesTotal*100;
lbar.scaleX=pcent/100;
lpc.text=int(pcent)+"%";
if(pcent==100){
this.gotoAndPlay(2);
}
}
Nella root principale c'è un fotogramma. Nel primo fotogramma c'è un mc. Dentro questo movieclip c'è il mio video in .flv che funge da sfondo.
In altri casi mi è bastato far slittare di un fotogramma in avanti i contenuti e piazzare al primo fotogramma il mio preloader. Ma questo è stato possibile con animazioni semplici che si sviluppavano tutti sulla root principale. Ora se faccio slittare al fotogramma n° 2 il mc con all'interno il video flv e incollo il preloader nel primo fotogramma ricevo questo errore:
Codice PHP:TypeError: Error #1009: Cannot access a property or method of a null object reference.
at Main/init()
at Main()
L'actionscript del full browser è il seguente:
Mi sapete dare una mano? grazie...Codice PHP:package
{
import flash.display.MovieClip;
import flash.text.TextField;
import flash.events.Event;
public class Main extends MovieClip
{
public function Main()
{
init();
checkResize();
}
private function init():void
{
stage.frameRate=31;
bg_mc.x=0;
bg_mc.y=0;
bg_mc.width=stage.stageWidth;
bg_mc.height=stage.stageHeight;
clip_mc.x=stage.stageWidth/2;
clip_mc.y=stage.stageHeight/2;
footer.x=100;
footer.y=stage.stageHeight-53;
}
private function checkResize():void
{
stage.addEventListener(Event.RESIZE, resizeStage);
}
private function resizeStage(event:Event):void
{
init();
}
}
}

Rispondi quotando
