PDA

Volledige versie bekijken : Dynamisch aantal rondjes


LenTheMan
%Europe/Berlin %391 %2008, 09:24
hoi allemaal,
is er een simpele mogelijkheid om een dynamisch aantal Sprites of movieclips te maken?


var personen:Array = new Array("ik", "jij", "hij", "zij", "bier");

for (var i:int=0; i<(personen.length); i++)
{
var nieuwPersoon:GroenRondje = new GroenRondje();
this.addChild(nieuwPersoon);
nieuwPersoon.x = mouseX;
nieuwPersoon.y = mouseY;
}
^^soort van op deze manier, maar dan dat je later de positie nog kan wijzigen.
het zou leuk zijn als je een array van sprites kon maken...

de 'personen' moeten (naar ook weer dynamische plaatsen) gaan bewegen.
De Array wordt straks van een server uitgelezen, dus vandaar datie dynamisch moet zijn.

Ik weet ook nog niet echt hoe ik langzaam iets kan laten bewegen met actionscript.
kan je een circel van de ene naar de andere (dynamisch :P) plaats langzaam laten bewegen, binnen hetzelfde frame.

Mr. Black
%Europe/Berlin %424 %2008, 10:11
het zou leuk zijn als je een array van sprites kon maken...
Grappig dan, want dat kan. :)

Je maakt van te voren een Array aan, en deze vul je dan in de forloop:

var spriteCollection:Array = new Array();

for ( var i:int = 0; i < personen.length; i++ )
{
var nieuwPersoon:GroenRondje = new GroenRondje();
this.addChild( nieuwPersoon );
nieuwPersoon.x = mouseX;
nieuwPersoon.y = mouseY;

spriteCollection.push( nieuwPersoon );
}

Je kan later de x weer zo aanpassen:

var sprite:Sprite = spriteCollection[ i ] // of hoe je dan ook aan een index getal komt
trace( sprite.x, sprite.y );

Veel succes nog! :)

LenTheMan
%Europe/Berlin %445 %2008, 10:41
ah, schön. bedankt!
ik ga het meteen proberen, maar daar moet ik wel uit komen.

toevallig ook suggesties hoe ik de sprite langzaam van a naar b kan laten bewegen, dus tweenen met actionscript en dan nog in dezelfde frame ook.

Mr. Black
%Europe/Berlin %467 %2008, 11:13
Om DisplayObject te laten bewegen moet je met DO.x en DO.y werken (DO = DisplayObject). Het makkelijkste is denk ik om hier een functie voor te maken, die je iedere frame uitvoert. :)

LenTheMan
%Europe/Berlin %477 %2008, 11:27
weet ik weer waar ik op moet gaan googlen :P
(heb met alles al wel eens geprogrammeerd, maar AS3 is dus nieuw voor me sinds 2 weken).

nou zit ik nog met die sprites die ik net heb aangemaakt, hoe kan ik er een mouseoverevent aan knopen.
(ik wil zeg maar dat als je met je muis op een persoon staat, dat er korte info over die persoon komt te staan)

Anti
%Europe/Berlin %910 %2008, 21:51
Je kan een klasse Persoon aanmaken waar je de vars id/sprite/info ed aan koppelt.
In de constructor kan je dan een eventlistener hangen in de stijl van :
this._sprite.AddEventListener(MouseEvent.CLICK,too nData)

Ja kan de array van sprites ook aan deze klasse koppelen in de vorm van spriteBatch/set waardoor alles samenhangt: