Ben bezig met een weergave van een aantal personen in flash. Er zit een for loop in, die op dit moment 60 bolletjes tekent met daarin een mask van een bepaald persoon. Nu wil ik alleen dat als je met de muis over zo'n bol gaat, het bolletje groter word.
Ik heb geprobeerd m.b.v. een teller een event mee te geven. Dit werkt niet, omdat dan alleen het laatste object gepakt word.
Heb het internet rondgezocht met woorden als "AS3 Multiple Objects same Handler" hier heb ik alleen niks kunnen vinden.
Ik zal de code even erbij plaatsen
In het ergste geval zou je een forloop over je function laten lopen, die elke keer een functie toekent aan een mcbolholder. Maar dat lijkt me behoorlijk cpu intensief..
Zit ik op de goeie weg? of moet ik een andere inslaan?
edit: klein type foutje
Ik heb geprobeerd m.b.v. een teller een event mee te geven. Dit werkt niet, omdat dan alleen het laatste object gepakt word.
Heb het internet rondgezocht met woorden als "AS3 Multiple Objects same Handler" hier heb ik alleen niks kunnen vinden.
Ik zal de code even erbij plaatsen
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| var xpos, ypos;
xpos = 15;
ypos = 15;
var mcholder:MovieClip = new MovieClip();
mcholder.graphics.drawRoundRect(0,0,491,430,0)
addChild(mcholder);
createBollen();
function createBollen():void
{
for (var i=0; i< 60 ; i++)
{
if (xpos>(mcholder.width - 10))
{
ypos=ypos+55;
xpos=15;
}
var mcbolholder:MovieClip = new MovieClip();
addChild(mcbolholder);
mcbolholder.x = xpos;
mcbolholder.y = ypos;
var loader:Loader = new Loader();
var url:URLRequest = new URLRequest("../images/mensen/image1.png");
loader.load(url);
mcbolholder.addChild(loader);
loader.cacheAsBitmap = true;
var masker:MovieClip = new MovieClip;
masker.graphics.beginFill(0xFF0000);
masker.graphics.drawCircle(75,75,75);
masker.graphics.lineStyle(10, 0xFFFFFF);
masker.graphics.endFill();
masker.cacheAsBitmap = true;
mcbolholder.addChild(masker);
loader.mask = masker;
mcbolholder.width = 32;
mcbolholder.height = 32;
mcbolholder.name = "bol"+[i];
getChildByName("bol"+[i]).addEventListener(MouseEvent.MOUSE_OVER, vergroten);
getChildByName("bol"+[i]).addEventListener(MouseEvent.MOUSE_OUT, verkleinen);
xpos = (xpos + mcbolholder.width + 10);
}
}
function vergroten(event:MouseEvent):void
{
this.width = this.height = 120;
}
function verkleinen(event:MouseEvent):void
{
this.width = this.height = 32;
} |
In het ergste geval zou je een forloop over je function laten lopen, die elke keer een functie toekent aan een mcbolholder. Maar dat lijkt me behoorlijk cpu intensief..
Zit ik op de goeie weg? of moet ik een andere inslaan?
edit: klein type foutje
13:37