PDA

Volledige versie bekijken : rotation veranderen


depieje
%Europe/Berlin %938 %2005, 23:31
ik ben eindelijk eens begonnen 'from scratch' om zelf codes te schrijven in AS2.
Nu probeer ik een aantal tandwielen via een for op de stage te krijgen, dat lukt maar nu wil ik dat de tandwielen uiteraard draaien, en in de goeie richting draaien. Nu draaien alle tandwielen naar rechts. Ik zie niet goed hoe je de richting best kan veranderen.

dit is mijn code :

onClipEvent (enterFrame){
for(i=0;i<10;i++){
_root["tandwiel"+i]._rotation += 5;
}
}

voor jullie peace a cake, voor mij niet evident


grtz,
depieje

Dauntless
%Europe/Berlin %949 %2005, 23:47
Als je meteen goed wil beginnen, hier een goede tip: Zet geen Actions OP movieclips / buttons maar altijd op frames.

Dat wordt dan: (op een frame)

this.onEnterFrame = function(){
for(i=0;i<10;i++){
_root["tandwiel"+i]._rotation += 5;
}
}

En hoe wil jij bepalen in welke richting ze draaien? Bv 1-5 naar links en 6-10 naar rechts ? :)

depieje
%Europe/Berlin %971 %2005, 00:18
Ok, daar zal ik rekening mee houden.

Hoe ze moeten draaien?

wel als het eerste tandwiel naar rechts draait dan draait het tweede uiteraard naar links en het derde terug naar rechts enz...

Dauntless
%Europe/Berlin %974 %2005, 00:22
Dan moet je het zo doen:

this.onEnterFrame = function(){
for(i=0;i<10;i++){
_root["tandwiel"+i]._rotation += (i%2 == 0)?-5:5;
}
}
Die maakt gebruik van de ternary operator en kan misschien wat verwarrend over komen... Eigenlijk staat daar hetzelfde als hier:

this.onEnterFrame = function(){
for(i=0;i<10;i++){
if(i%2 == 0){
//met andere woorden: bij alle even tandwielen
_root["tandwiel"+i]._rotation += 5;
} else {
//bij alle oneven
_root["tandwiel"+i]._rotation += -5; //maar -= 5 zou in dit geval beter zijn
}
}
}