2010-11-04 13 views
0

Im créer un site qui a besoin de charger des vidéos au hasard sur la première page. J'ai quelques swfs sur la racine, et j'ai fait un .swf nommé aléatoire qui va charger sur la page principale (téléchargé dans le même dossier avec le swfs) et j'espère qu'il va charger l'un des films à la fois. Pas de chance jusqu'à présent. c'est le code que j'utiliseAS3 random .swf chargement

stop(); 
var movieArray:Array = ['1', '2', '3']; 
var loader:Loader = new Loader(); 
var index:int = movieArray.length * Math.random(); 
var url:String = movieArray[index] + '.swf'; 
trace("Attempting to load", url); 
loader.load(new URLRequest(url)); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete); 
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loaderIOError); 
addChild(loader); 
function loaderComplete(e:Event):void {  
    trace("Successfully loaded", url); 
    } function loaderIOError(e:IOErrorEvent):void {  
    trace("Failed to load", url); 
    } 

oh, j'utilise AS3. et les vidéos sont faites en AS3 aussi. Des idées? thnx.

Répondre

1

Je pense que cette ligne particulière est probablement à l'origine de votre problème:

var index:int = movieArray.length * Math.random(); 

Plus précisément, il n'y a aucune garantie que movieArray.length * Math.random() va produire un type int. Vous avez besoin d'envelopper l'opération à l'intérieur de Math.floor() pour vous assurer d'obtenir un entier qui est dans les limites de votre tableau:

var index:int = Math.floor(movieArray.length * Math.random()); 

Si vous n'êtes toujours pas voir vos films swf charge alors il y a probablement une problème ailleurs aussi, mais ma solution est la plus simple pour commencer et si cela fonctionne, vous avez terminé.

+0

Argh ne peux pas croire que j'ai oublié la chose au sol: D: D merci beaucoup Brian. – cac