PDA

Volledige versie bekijken : Movieclip in Movieclip


M@rcel
%Europe/Berlin %895 %2007, 22:29
Hallo,

Heb al gezocht maar kwam er ff niet uit.

Ben bezig met een fotoscroller.
Nu lukt het me wel om externe foto's in te laden.
Alleen die wil ik plaatsen in een container.
Deze wil ik laten bewegen afhankelijk waar de muis zich bevind.

Nu wil ik dus de foto's in de containerplaatsen alleen weet niet hoe :S
dacht eerst vrij simel om en zoiets maar dit werkt niet.


var container:MovieClip=createEmptyMovieClip("container", 1);
//hier bv. een holder voor een foto in de container
container.houder:MovieClip==createEmptyMovieClip("houder", 0);


Dit is mijn script


//gegevens----------------------------------------------------
var aantalf:Number=4; //aantal afbeeldingen
var begin:Number=0; //begin positie afbeelding
var nummer:Number=-1; //afbeelding (begin) nummer
var tussenruimte=0;//ruimte tussen de afbeeldingen
//------------------------------------------------------------

//container aanmaken
var container:MovieClip=createEmptyMovieClip("container", 100);


//movieclip loader maken
var myMCL:MovieClipLoader = new MovieClipLoader();
var MCL_Listener:Object = new Object();

//als de afbeelding geladen is
MCL_Listener.onLoadInit = function(target_mc:MovieClip) {

target_mc._x=begin;//begin positie uitrekenen
begin=target_mc._width+target_mc._x+tussenruimte;//nieuwe begin positie uitrekenen
nummer+=1; //fotonummer
target_mc.id=nummer;
target_mc.onRelease=function(){
getURL(linkjes[this.id], "_blank");
//linkjes komen later
}
};

//afbeeldingen ophalen
for(var i:Number=0; i<aantalf; i++){

var holder:MovieClip = createEmptyMovieClip("holder"+i, i);
myMCL.addListener(MCL_Listener);
myMCL.loadClip("foto"+i+".jpg", holder);
}


In de container moeten dus de foto's komen.

Alvast bedankt :)

Laiverd
%Europe/Berlin %913 %2007, 22:54
Ik zou eens beginnen met het weghalen van die == en de handleiding even naslaan op de verschillen tussen =, == en ===

John

M@rcel
%Europe/Berlin %937 %2007, 23:30
Ik zou eens beginnen met het weghalen van die == en de handleiding even naslaan op de verschillen tussen =, == en ===

John

wel is gehoord van een typ foutje ;)

Larsvu
%Europe/Berlin %296 %2007, 08:06
var container : MovieClip = this.createEmptyMovieClip( "containerMc", this.getNextHighestDepth() );
var houder : MovieClip = container.createEmptyMovieClip("houderMc", container.getNextHighestDepth() );

M@rcel
%Europe/Berlin %587 %2007, 15:06
Bedankt Larsvu dat werkt :)

Zit nog met 1 probleem. Ik wil als je op een foto klikt dat je dan naar een bepaalde internetpagina gaat.
Heb nu dit maar het werkt niet geeft ook geen foutmelding


MCL_Listener.onLoadInit = function(target_mc:MovieClip):Void {

target_mc._x=begin;//begin positie uitrekenen
begin=target_mc._width+target_mc._x+tussenruimte;//nieuwe begin positie uitrekenen
nummer+=1; //fotonummer
target_mc.id=nummer;
//trace(target_mc);

target_mc.onRelease=function(){

trace("werkt het?");
}
}

M@rcel
%Europe/Berlin %623 %2007, 15:58
Ik weet al waarom hij het niet doet.

target_mc = container["holder"+getal]

Ik wil dus op de ["holder"+getal] de onRelease hebben.
Nu heb ik op de container een onRollOver, daardoor werkt het niet meer.
Als ik deze er niet op zet werkt de onRelease wel.

Hoe kan je dit oplossen?

dit is het script nu


//gegevens----------------------------------------------------
var aantalf:Number=0; //aantal afbeeldingen
var begin:Number=0; //begin positie afbeelding
var nummer:Number=-1; //afbeelding (begin) nummer
var startnummer:Number=0;//startnummer, uitreken straks hoe groot de container is
var tussenruimte=0;//ruimte tussen de afbeeldingen
var containerbreedte:Number=0; //breedte van de container
var helftStage=Stage.width/2; //helft van de movieclip
var scrolLinks:Number=helftStage-50; //hier mag ie niet scrollen
var scrolRechts:Number=helftStage+50; //hier mag ie niet scrollen
var root:String = "";//root van de website en waar het xml bestand staat.
//var xmlload = root+"fotos.xml"; //xmfile
var xmlload=root+"slideshowXML.cfm"
//------------------------------------------------------------


//container aanmaken
var container:MovieClip=createEmptyMovieClip("container", 100 );

//movieclip loader maken
var myMCL:MovieClipLoader = new MovieClipLoader();
var MCL_Listener:Object = new Object();


//als de afbeelding geladen is
MCL_Listener.onLoadInit = function(target_mc:MovieClip):Void {

target_mc._x=begin;//begin positie uitrekenen
begin=target_mc._width+target_mc._x+tussenruimte;//nieuwe begin positie uitrekenen
nummer+=1; //fotonummer
target_mc.id=nummer;
target_mc.onRelease=function(){
//getURL("linkjes[this.id]" , "_blank");
trace("ok");
}
//traget_mc._alpha=10;

//totale breedte container
containerbreedte=containerbreedte+target_mc._width +tussenruimte;
startnummer+=1;
if(startnummer == aantalf){ //kijken of we bij het einde zijn.
var maatcontainer = container.width; //maar van de container
startSlider(); // functie voor de slider starten

}
};

//afbeeldingen ophalen
// XML inladen ----------------------------------------
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = function(succes) {
if (succes) {
//tellen hoeveel foto's er zijn.
var aantalFotos:Number = xml.firstChild.childNodes.length;
aantalf=aantalFotos;
//ook de lengte van deze scroller aanpassen
_root.scroller.width=aantalFotos * 70;
urls = new Array();
for (var i:Number = 0; i<aantalFotos; i++) {

var holder:MovieClip = container.createEmptyMovieClip("holder"+i, container.getNextHighestDepth() );
myMCL.addListener(MCL_Listener);
myMCL.loadClip(xml.firstChild.childNodes[i].childNodes[0].firstChild.nodeValue, holder);

urls.push(xml.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue);
}
} else {
trace("inladen mislukt");
}
};
xml.load(xmlload);



//--------------------------------------------------------
//functie voor mouseover
function startSlider(){

var helftcontainer:Number=container._width/2; //helft van de container
container._x=helftStage-helftcontainer; //container in het midden van de movie zetten


//foto's laten sliden met deze functie.
/*container.onRollOver=function(){*/

container.onEnterFrame=function(){
//kijken hoever je mag scrollen
if(container._width>Stage.width){//kijken of de container groter is dan de movie zelf
var maxscroll:Number=(container._width-Stage.width)/2;
var maxscrolLinks=Stage.width-maxscroll; //max positie links
var maxscrolRechts=container._width - Stage.width;

//scroll voor naar links
if(_xmouse < scrolLinks & container._x < 0 ){
var speed = container._width-_xmouse;
container._x+=speed*0.01;
}else if(_xmouse > scrolRechts & container._x > -maxscrolRechts ){
container._x-=_xmouse * 0.02; }
}

mousevlak.onRollOver=function(){
trace("yesy");
}


}


}