Voor mijn eindexamen project wil ik misschien gebruik maken van flash. Nu ben ik bezig met het maken/testen van een scriptje maar het wil niet erg goed lukken. IK zit met een paar vragen.
Dit is de code van de beweeg functie.
En hiermee wil ik de variabelen 'setten'
Nu krijg ik de:
niet aan de praat vanuit de bestuursfunctie hier boven. Die functie hangt aan een button in een laagje boven de movieclip mc.
Het vreemde is dat wanneer ik uit de bestuur functie deze regels weg haal:
Het clipje elke keer vanaf zijn begin positie begint ipv de huidige positie + een waarde.
Op een of andere manier geef ik dus wel iets aan de in de bestuursfunctie maar als ik dus die andere stepX en stepY variabelen probeer te veranderen gebeurt er niets...
Wie heeft het magische antwoord!
Dit is de code van de beweeg functie.
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
| ///////////////////////////////////////////
//DECLARE VARIABLES AT TOP FOR CODE LEGIBILITY
///////////////////////////////////////////
//starting x position of the MovieClip
var beginX:Number = mc._x;
var beginY:Number = mc._y;
var stepX:Number = 100;
var stepY:Number = 100;
//desired x position to finish at
var finishX:Number = mc._x+stepX;
var finishY:Number = mc._y+stepY;
//the distance between start and finish
var changeAmtX:Number = finishX-beginX;
var changeAmtY:Number = finishY-beginY;
//number of seconds for the animation
var duration:Number = 150;
//keeps track of time
var time:Number = 0;
///////////////////////////////////////////
//IF USER MOUSES DOWN
///////////////////////////////////////////
//this.onMouseDown = _root.role_it;
function role_it():Void {
//reset time, mc.onEnterFrame, and mc location
time = 0;
delete mc.onEnterFrame;
//mc._x = beginX;
//mc._y = beginY;
//determine mc's position using Penner's easing function
mc.onEnterFrame = function():Void {
_root.location_var = beginX;
this._x = easeInSine(time++, beginX, changeAmtX, duration);
this._y = easeInSine(time++, beginY, changeAmtY, duration);
//if time has elapsed, remove the action
if (time>duration) {
delete mc.onEnterFrame;
}
};
};
///////////////////////////////////////////
//Robert Penner's easing sine function (robertpenner.com)
///////////////////////////////////////////
easeInSine = function (t:Number, b:Number, c:Number, d:Number):Number {
return c*Math.sin(t/d*(Math.PI/2))+b;
}; |
En hiermee wil ik de variabelen 'setten'
code:
1
2
3
4
5
6
7
| on (release) {
_root.stepX = (-100);
_root.stepY = (-10);
_root.beginX = _root.mc._x;
_root.beginY = _root.mc._y;
_root.role_it();
} |
Nu krijg ik de:
code:
1
2
| var stepX:Number = 100; var stepY:Number = 100; |
niet aan de praat vanuit de bestuursfunctie hier boven. Die functie hangt aan een button in een laagje boven de movieclip mc.
Het vreemde is dat wanneer ik uit de bestuur functie deze regels weg haal:
code:
1
2
| _root.beginX = _root.mc._x;
_root.beginY = _root.mc._y; |
Het clipje elke keer vanaf zijn begin positie begint ipv de huidige positie + een waarde.
Op een of andere manier geef ik dus wel iets aan de in de bestuursfunctie maar als ik dus die andere stepX en stepY variabelen probeer te veranderen gebeurt er niets...
Wie heeft het magische antwoord!