Volledige versie bekijken : Dynamische jpg voor x seconden weergeven
Phlexus
%Europe/Berlin %536 %2006, 13:52
Hallo,
Het volgende: Ik heb een flv-player waarbij ik dynamisch jpg's inlaad, deze voor een aantal seconden weergeef en dan de flv start. Op het moment doe ik dat zo
intervalID = setInterval( playMovie, 2000 );
Maar soms begint de flv al te spelen nog voordat de jpg is ingeladen. De oplossing zou dus zijn om een trigger te geven op het moment dat de jpg is ingeladen, dan pas de tijd te starten, en als deze is afgelopen weer de trigger te geven om de flv af te spelen.
Hoe zou je dit mogelijk kunnen bereiken?
PS: Mijn AS is nog niet zo goed, so please be gentle ;-)
Emveedee
%Europe/Berlin %572 %2006, 14:43
Gebruik de movieClipLoader, hiermee kun je controleren
of je plaatje geladen is. Kijk in de actionscript tutorials van theFlashWizard
of in de flash help voor meer info ;)
Phlexus
%Europe/Berlin %614 %2006, 15:45
Ok, ik ga kijken. Thanks!
Phlexus
%Europe/Berlin %583 %2006, 15:00
Hallo,
Ik ben nu een beetje aan het experimenteren met de functie movieClipLoader en het is me gelukt dynamisch een plaatje op te halen en dit weer te geven op de pagina. Het plaatje is 320x240, maar wordt kleiner geladen (iets van 200x150 ofzo). Wat doe ik verkeerd, of wat zie ik over het hoofd:
myData = new LoadVars();
myData.ref = this;
myData.load("http://www.domein.nl/getdata.php");
myData.onLoad = function(succes){
if(succes){
plaatje = "http://www.domein.nl/plaatjes/"+this["retName"]+".jpg";
var myMCL = new MovieClipLoader();//
myMCL.onLoadInit = function (targetMC)
{
targetMC._width = 320;
targetMC._height = 240;
}
//load the files in to their respective targets
myMCL.loadClip(plaatje,"_root.myMC1");
} else trace("Error loading data");
}
Emveedee
%Europe/Berlin %585 %2006, 15:03
Je definieert targetMC nergens,
daarom kan hij de _width en _height ervan ook niet aanpassen ;)
Phlexus
%Europe/Berlin %589 %2006, 15:09
Hmm, ok.
Ik heb de code hier vandaan:
hier dus (http://www.actionscripts.org/tutorials/intermediate/MovieClipLoader_in_Flash_MX_2004/index.shtml)
de code:
_root.traceBox.vScrollPolicy ="on";
//trace function
function myTrace(msg)
{
_root.traceBox.text += msg + newline;
_root.traceBox.vPosition = _root.traceBox.maxVPosition;
}
/************************************************** *******************/
//init
var myMCL = new MovieClipLoader();
/************************************************** *******************/
//callbacks
myMCL.onLoadStart = function (targetMC)
{
var loadProgress = myMCL.getProgress(targetMC);
myTrace ("The movieclip " + targetMC + " has started loading");
myTrace("Bytes loaded at start=" + loadProgress.bytesLoaded);
myTrace("Total bytes loaded at start=" + loadProgress.bytesTotal);
myTrace("____________________________________");
}
myMCL.onLoadProgress = function (targetMC, loadedBytes, totalBytes) {
myTrace ("movie clip: " + targetMC);
myTrace("Bytes loaded at progress callback=" + loadedBytes);
myTrace("Bytes total at progress callback=" + totalBytes);
myTrace("____________________________________");
}
myMCL.onLoadComplete = function (targetMC)
{
myTrace (targetMC + " has finished loading.");
var loadProgress = myMCL.getProgress(targetMC);
myTrace("Bytes loaded at end=" + loadProgress.bytesLoaded);
myTrace("Bytes total at end=" + loadProgress.bytesTotal);
myTrace("____________________________________");
}
myMCL.onLoadInit = function (targetMC)
{
myTrace ("Movie clip:" + targetMC + " is now initialized");
targetMC._width = 170;
targetMC._height = 170;
myTrace("____________________________________");
}
myMCL.onLoadError = function (targetMC, errorCode)
{
myTrace ("ERRORCODE:" + errorCode);
myTrace (targetMC + "Failed to load its content");
myTrace("____________________________________");
}
/************************************************** ******************/
//load the files in to their respective targets
myMCL.loadClip("test1.swf","_root.myMC1");
myMCL.loadClip("test2.swf", "_root.myMC2");
myMCL.loadClip("somepic.jpg", "_level0.myMC3");
Daar wordt de target ook niet gedefinieerd (toch?). Maar het plaatje is van zichzelf al 320x240, waarom besluit flash dan niet het originele formaat te gebruiken ?
Emveedee
%Europe/Berlin %594 %2006, 15:16
Hmsh, je doet het niet helemaal goed.
Je moet eerst een movieClipLoader aanmaken,
en voor alle dingen (naam ff kwijt, jww,
onLoadProgress, onLoadInit etc.)
Moet je een functie aanmaken.
zo dus:
var myMovieClipLoader:MovieClipLoader = new MovieClipLoader();
myMovieClipLoader.onLoadInit = function(target:MovieClip){
target._width = 320;
target._width = 240;
}
myMovieClipLoader.loadClip("http://www.domein.nl/getdata.php");
Phlexus
%Europe/Berlin %601 %2006, 15:26
Ik snap het ff niet. Ik maak toch een nieuwe movieClipLoader aan?
var myMCL = new MovieClipLoader();
Maar moet je ook perse al die andere functies definieren? Ik heb nl alleen de functie nodig ZODRA het plaatje geladen is (onLoadInit), dus onLoadProgress etc heb ik niet nodig. Voor een correcte werking zijn deze wel nodig dus?
myData = new LoadVars();
myData.ref = this;
myData.load("http://www.domein.nl/getdata.php");
myData.onLoad = function(succes){
if(succes){
plaatje = "http://www.domein.nl/plaatjes/"+this["retName"]+".jpg";
var myMCL = new MovieClipLoader();//
myMCL.onLoadInit = function (targetMC)
{
targetMC._width = 320;
targetMC._height = 240;
}
//load the files in to their respective targets
myMCL.loadClip(plaatje,"_root.myMC1");
} else trace("Error loading data");
}
Emveedee
%Europe/Berlin %603 %2006, 15:29
Volgens mij zo de code die ik je gegeven heb moeten werken.
Je moet dus geen loadVars gebruiken EN een movieClipLoader,
de movieClipLoader laad alles voor je in!
Phlexus
%Europe/Berlin %605 %2006, 15:31
Jouw code heb ik geprobeerd, maar die geeft errors.
**Error** Scene=Scene 1, layer=script, frame=1:Line 29: There is no property with the name 'onLoadInit'.
myMovieClipLoader.onLoadInit = function(target:MovieClip){
Je moet dus geen loadVars gebruiken EN een movieClipLoader,
loadVars gebruik je toch om dynamische content op te halen? Kan dat dan ook met movieClipLoader?
Emveedee
%Europe/Berlin %611 %2006, 15:40
Ja ;)
Daarvoor is die net bedoeld!
Btw: ik was vergeten dat je een listener
aan je movieClipLoader moet hangen om
gebruik te maken van onLoadInit, onLoadComplete e.d. (events dus).
Kijk in de help voor een voorbeeld ;)
(Actionscript 2.0 Language References -> Actionscript Classes -> MovieClipLoader -> onLoadInit )
Phlexus
%Europe/Berlin %621 %2006, 15:55
Ok, ik ben al aan het lezen. Maar begrijp dan nog steeds niet waarom het voorbeeld in de tutorial wel werkt.
Phlexus
%Europe/Berlin %680 %2006, 17:19
Ik ben eruit! Mijn scene instellingen klopten niet. Thanks!
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.