Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    as3 caricare swf con sua document class

    salve ragazzi mi ritrovo di fronte ad un problema...
    ho acquistato una galleria di immagini 3d su richiesta di un cliente.
    questa galleria di immaggini contiene una serie di classi proprie più una document class per il suo funzionamento e fin qui non ci sono problemi.
    Io dovrei caricare questa galleria nel mio sito però il mio sito ha già una document class e se carico l swf della galleria non funziona perchè giustamente cambiano i percorsi. ho provato a caricarla sia dentro un mio_mc che direttamente sullo stage solo non funge.

    Mi sono avvicinato da poco al nuovo as3 e quindi non so come fare.
    Prima in as2 quando avevo questo problema bastava che inserivo nella gallereria

    codice:
    this.lockroot=true;
    e tutto funzionava ma adesso in as3 come carico un swf con la sua document class?

    grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Ciao

    E' probabile che devi modificare i percorsi delle immagini e dell'eventuale relativo .xml.

    Spiegarti da qui come procedere senza sapere come è strutturato il tuo sito è un pò complicato e rischiamo solo di fare confusione.

    Ti ho inviato in pvt i miei indirizzi Messenger o Skype.

    ciao

  3. #3
    grazie sleter per la risposta...
    ma a parte il mio sito com' è strutturato non esiste un modo per caricare un swf con una document class propria .
    diciamo qualcosa di generale.
    se vuoi ti posto la galleria di immagini ...
    e vedi se a te funge
    te la posso mandare per posta se vuoi.
    grazie in anticipo e buona domenica anche se mi tocca lavorare anche oggi...
    vabbe
    ti aggiungo hai contatti skype se non ti dispiace

  4. #4
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Originariamente inviato da Mircodj
    ... ma a parte il mio sito com' è strutturato non esiste un modo per caricare un swf con una document class propria .
    Certo Mircodj ! Non c'è nulla di diverso nel caricare un .swf esterno con o senza DocumentClass.
    Il file .swf esterno farà sempre riferimento al suo codice sia che questo sia inserito in un fotogramma sul suo stage principale, sia che sia esterno in un file.as.

    Per quanto riguarda la galleria, come ti dicevo sopra ci può essere un problema di indirizzi.

    Provo a farti un esempio per definire meglio la questione:

    L' .swf esterno è in pratica come un movieClip.
    Se un movieClip importa al suo interno un oggetto, questo è controllabile dalla timeline principale semplicemente facendo riferimento al clipPadre.clipFiglio.

    Allo stesso modo, se l'.swf carica al suo interno un oggetto URLLoader e l'.swf stesso è su un livello secondario ovvero dentro un altro .swf gli indirizzi devono corrispondere al percorso che deve effettuare il filmato "padre" per trovare il file richiesto.

    Comunque se hai problemi ci sentiamo su Skype dove posso inviarti eventualmente un esempio di una galleria che carica immagini da una cartella e indirizzi da .xml la quale a sua volta è contenuta nel filmato principale del sito.
    Se lancio da Flash la galleria da sola non trova i file necessari al suo funzionamento ma se la lancio dal pulsante "Galleria" sullo stage principale del sito funziona perfettamente.

    ciao

  5. #5

    TypeError: Error #1009: Cannot access a property or method of a null object reference

    Dunque saluto tutti essendo fresco di iscrizione e vi sottopongo il mio problema....

    sto cercando di far caricare nel mio sito il lettore mp3 (indirizzo del free player) con una sua class

    per caricare l'swf nel mio stage ho usato questo codice:

    "var mcExt:MovieClip;
    var ldr:Loader = new Loader();
    ldr.contentLoaderInfo.addEventListener(Event.COMPL ETE, swfLoaded);
    ldr.load(new URLRequest(“MP3Player.swf”));
    function swfLoaded(e:Event):void {
    mcExt = MovieClip(ldr.contentLoaderInfo.content);
    ldr.contentLoaderInfo.removeEventListener(Event.CO MPLETE, swfLoaded);
    mcExt.x = 13;
    mcExt.y = 539;
    stage.addChild(mcExt);"

    ma ho dovuto anche addare le classi del player allo stage altrimenti mi dava errore.

    ora il player compare ma restituisce l'errore TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at com.simplistika::cMP3Player/frame1().

    io sinceramente sono nuovo di as3 e sto brancolando nel buio.


    il player ha le seguenti classi




    Codice PHP:
    package com.simplistika  import flash.display.*; import flash.text.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.filters.GlowFilter;  //---------------------------------------------------------------------------------------------------- //    class definition //---------------------------------------------------------------------------------------------------- public class cMP3Player extends cXMLApp  { //---------------------------------------------------------------------------------------------------- //    member data //---------------------------------------------------------------------------------------------------- private var mChannel : SoundChannel; private var mSound : Sound; private var mPosition : int; private var mCurrentPosition : int; private var mVolume : int; private var mTrack : int = 0; private var mLoading : Boolean; private var mVisual : Spectrum; private var mBoundt : Rectangle;     //for track scrubber private var mBoundv : Rectangle;     //for volume scrubber private var mBoundp : Rectangle;     //for panning private var glowOn : GlowFilter = new GlowFilter(0xFFFFFF,1,5,5,2,2,false,false); private var glowOff : GlowFilter = new GlowFilter(0xFFFFFF,0,5,5,2,2,false,false); private var mScrubber : String; private var mTotalSec : String;  //---------------------------------------------------------------------------------------------------- //    constructor //----------------------------------------------------------------------------------------------------  public function cMP3Player() : void {     super("http://www.simplistika.com/files/as3mp3/playlistpro.xml");    // load in xmlfile     super.addEventListener("XMLLoaded", fStart);                        // once its completed loading, goto init()             }  private function fStart(e : Event) : void {     trace(this + " " + "cMP3Player.fStart()");          var i : int;              stage.addEventListener(Event.ENTER_FRAME, fRefresh, false, 0, true);     stage.addEventListener(MouseEvent.MOUSE_DOWN, fOnMouseDown, false, 0, true);     stage.addEventListener(MouseEvent.MOUSE_UP, fOnMouseUp, false, 0, true);     stage.addEventListener(MouseEvent.CLICK, fOnClick, false, 0, true);      // visualization settings     mVisual = new Spectrum();     mVisual.x = mBg.x + 2;     mVisual.y = mBg.y + 45;     addChild(mVisual);     setChildIndex(mVisual, 1);      // scrubber settings     mBoundt = new Rectangle(0,tBar.tBarKnob.y,tBar.tBarBg.width,0);    // boundary so scrubber will stay within the tBarBg         mBoundv = new Rectangle(0,vBar.vBarKnob.y,vBar.vBarBg.width,0);    // boundary so volume will stay within the vBarBg     mBoundp = new Rectangle(0,pBar.pBarKnob.y,pBar.pBarBg.width,0);    // boundary so panning will stay within the pBarBg     vBar.vBarKnob.x = vBar.vBarBg.width;     pBar.pBarKnob.x = pBar.pBarBg.width / 2;          mLoading = true;                                                // Starts playing on run     mSound = new Sound(new URLRequest(mData.mp3[0].url));         mChannel = mSound.play();     mState = "PLAY";      // to stop playing when it starts just uncomment these 3 lines     // mState = "STOP";     // pbStop.addEventListener("dontPlay", fOnClick);      // pbStop.dispatchEvent(new MouseEvent("dontPlay"));      }  private function fOnComplete(e : Event) : void {     if (txtRepeat.text == "REPEAT ON")         mChannel.stop();     else     {         mTrack++;         mChannel.stop();         if (mTrack > mItems - 1)             mTrack = 0;     }     fLoad(mTrack,0); }  protected function  fOnMouseDown(e : MouseEvent) : void {     if (e.target.name.substring(1, 4) == "Bar" && e.target.name.substring(1, 5) == "Knob")     {         this[e.target.parent.name][e.target.name].filters = [glowOn];         this[e.target.parent.name][e.target.name].startDrag(true, this["mBound" + e.target.name.substring(0, 1)]);         mScrubber = e.target.parent.name;     }     else if (e.target.name.substring(1, 4) == "Bar" && e.target.name.substring(1, 5) != "Knob")     {         this[e.target.parent.name][e.target.parent.name.substring(0, 1) + "BarKnob"].filters = [glowOn];         this[e.target.parent.name][e.target.parent.name.substring(0, 1) + "BarKnob"].startDrag(true, this["mBound" + e.target.name.substring(0, 1)]);         mScrubber = e.target.parent.name;     } }  private function fOnMouseUp(e : MouseEvent) : void {     if (mScrubber != null)     {                 this[mScrubber][mScrubber + "Knob"].stopDrag();         this[mScrubber][mScrubber + "Knob"].filters = [glowOff];                  switch (mScrubber)         {         case "tBar":             switch (mState)             {             case "PLAY":                 mChannel.stop();                 mChannel = mSound.play(mSound.length / 100 * Math.floor(tBar.tBarKnob.x/(tBar.tBarBg.width)*100));                 break;                              case "STOP":                 mCurrentPosition = mSound.length / 100 * Math.floor(tBar.tBarKnob.x/(tBar.tBarBg.width)*100);                 break;             }             break;         }                         mScrubber = null;     } }  private function fOnClick(e : MouseEvent) : void {     switch (e.target.name)     {         case "pbForward":             mTrack++;             if (mTrack > mItems - 1)                 mTrack = 0;                         break;                      case "pbBack":                         mTrack--;             if (mTrack < 0)                 mTrack = mItems - 1;             break;                      case "pbPlayPause":             if (mState == "PLAY")              {                 mCurrentPosition = mPosition;                 mChannel.stop();                 mState = "STOP";             }             else             {                 mChannel = mSound.play(mCurrentPosition);                 mState = "PLAY";             }             return;                  case "pbStop":             mState = "STOP";             mChannel.stop();                             tBar.tBarKnob.x = 0;             mCurrentPosition = 0;             return;                      case "hsConfig_Repeat":             txtRepeat.text == "REPEAT OFF" ? txtRepeat.text = "REPEAT ON" : txtRepeat.text = "REPEAT OFF";             return;                  default:             return;                  }     if (mState == "STOP")         mState = "PLAY";     mChannel.stop();     fLoad(mTrack, 0);     }  private function fLoad(vTrack : int, vPos : int) : void {     if (mLoading == true)     {         mSound.close();         mLoading = false;     }     mChannel.stop();     mSound = new Sound(new URLRequest(mData.mp3[vTrack].url));     mChannel = mSound.play(vPos); }  private function fRefresh(e : Event) : void {     mChannel.soundTransform = new SoundTransform(vBar.vBarKnob.x / vBar.vBarBg.width, - 1 + 2 * (pBar.pBarKnob.x / pBar.pBarBg.width));     mChannel.addEventListener(Event.SOUND_COMPLETE, fOnComplete, false, 0, true);          if (mSound.bytesTotal > 0)                                        // if mp3 is successfully loaded     {         if (mSound.bytesLoaded < mSound.bytesTotal)                 // show loading %         {             txtLoaded.text = Math.floor(mSound.bytesLoaded / mSound.bytesTotal * 100).toString() + "%";             mLoading = true;         }         else         {             txtLoaded.text = "";             mLoading = false;         }          tBar.tScrubBarBg.width = 184 * mSound.bytesLoaded / mSound.bytesTotal;         tBar.tBarBg.width = 172 * mSound.bytesLoaded / mSound.bytesTotal;         mPosition = mChannel.position;                                // current position off track in miliseconds         txtDisplay.text = String(mData.mp3[mTrack].artist) + " - " + String(mData.mp3[mTrack].title);         if (mScrubber != null)         {             mPosition = mSound.length * tBar.tBarKnob.x / tBar.tBarBg.width;             mCurrentPosition = mSound.length * tBar.tBarKnob.x / tBar.tBarBg.width;         }         else         {             if (mState == "PLAY")                 tBar.tBarKnob.x = tBar.tBarBg.width / 100 * Math.floor(mPosition / mSound.length * 100);         }         fUpdateTime();         mVisual.fUpdate();     }     else     {         mLoading = true;         txtTime.text = "Please wait..";         txtDisplay.text = "Buffering.. ";     } }  private function fUpdateTime() : void {     var vMin : Number;     var vSec : Number;      switch (mState)     {         case "PLAY":                         vMin = Math.floor(mPosition / 1000) / 60 >> 0;             vSec = Math.floor(mPosition / 1000) % 60 >> 0;              break;         case "STOP":             vMin = Math.floor(mCurrentPosition / 1000) / 60 >> 0;             vSec = Math.floor(mCurrentPosition / 1000) % 60 >> 0;             break;     }          if (vSec >= 0 && vSec < 10)         txtTime.text = String(vMin) + ":0" + String(vSec);     else         txtTime.text = String(vMin) + ":" + String(vSec);          } //---------------------------------------------------------------------------------------------------- } // class cMP3Player //---------------------------------------------------------------------------------------------------- } // package 
    indirizzo del free player


    vi chiedo un aiuto x' non so se e cosa ho sbagliato.

    Un grazie in anticipo.

    Daniele

  6. #6
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Ciao

    Nessuna modifica da fare alle classi del lettore Mp3 che hai lincato.

    L'errore che riscontri è nel codice di caricamento che riporti sopra:
    1. Istanzi una variabile di tipo MovieClip (mcExt) ma non la crei con il costruttore new
    2. Non aggiungi il MovieClip allo stage con addChild.

    Senza fare alcuna modifica alle classi, correggi il codice di caricamento in questo modo:

    Codice PHP:
    var ldr:Loader = new Loader  ;
    var 
    mcExt:MovieClip = new MovieClip  ;

    ldr.load(new URLRequest("MP3Player.swf"));
    ldr.contentLoaderInfo.addEventListener(Event.COMPLETEcaricamentoCompletato);

    function 
    caricamentoCompletato(evento:Event):void
    {
        
    mcExt.13;
        
    mcExt.539;
        
    addChild(mcExt);
        
    mcExt.addChild(ldr);

    ciao

  7. #7
    Grazie per la risposta!
    ho modificato come mi hai detto ed ho risolto !

    grazie ancora!

    Daniele

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.