Toon posts:

[flash] _rotation

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een roterende cirkel.
Die laat ik roteren door op het eerste frame van de mc:
code:
1
2
3
4
5
var angle = 360;

if (angle > _rotation) {
  _rotation+=4;
}

en op het volgende frame
code:
1
GoToAndPlay(1);

Ik vind dit een beetje een omslachtige manier, het zal vast makkelijker kunnen. Op deze manier kan ik mijn idee ook niet verder uitwerken, dus ik zoek een andere mogelijkheid.

Ik dacht zelf meer aan dit
code:
1
2
3
4
5
6
7
var i = 0;
var angle = 360;

while (angle > i) {
  _rotation+=4;
  i++;
}

Echter de _rotation+=4 wordt maar 1 keer uitgevoerd. Die rotate actie loopt dus niet.

Het is uiteindelijk de bedoeling dat: wanneer je op een button druk, dat de cirkel dan een bepaald aantal graden (angle) gaat draaien. Dus het moet allemaal uitgevoerd worden indien er op een button gedrukt wordt.

Mijn vraag is dus: is het mogelijk om met die while lus een mc te laten draaien??

Alvast thnx

  • RSP
  • Registratie: Juni 2001
  • Laatst online: 24-06 10:36

RSP

ik weet niet hoe dat flash scripting werkt maar is een for loop niet voldoende ?
code:
1
2
3
4
5
6
for angle is 1 to 360 do
   begin
    _rotate := _rotate + 4
    inc(angle)
   end;
end;

maar dat is gebrekkig delphi, geen flash... :{ sorry denk niet dat ik je veel verder kan helpen

Verwijderd

Op dinsdag 16 april 2002 13:27 schreef condense het volgende:
Ik heb een roterende cirkel.
Die laat ik roteren door op het eerste frame van de mc:
code:
1
2
3
4
5
var angle = 360;

if (angle > _rotation) {
  _rotation+=4;
}

en op het volgende frame
code:
1
GoToAndPlay(1);

Ik vind dit een beetje een omslachtige manier, het zal vast makkelijker kunnen. Op deze manier kan ik mijn idee ook niet verder uitwerken, dus ik zoek een andere mogelijkheid.

Ik dacht zelf meer aan dit
code:
1
2
3
4
5
6
7
var i = 0;
var angle = 360;

while (angle > i) {
  _rotation+=4;
  i++;
}

Echter de _rotation+=4 wordt maar 1 keer uitgevoerd. Die rotate actie loopt dus niet.

Het is uiteindelijk de bedoeling dat: wanneer je op een button druk, dat de cirkel dan een bepaald aantal graden (angle) gaat draaien. Dus het moet allemaal uitgevoerd worden indien er op een button gedrukt wordt.

Mijn vraag is dus: is het mogelijk om met die while lus een mc te laten draaien??

Alvast thnx
dat doe je zo:
OP(dus niet in zijn frames)de mc zet je:
code:
1
2
3
onClipEvent(enterFrame){
   if(_rotation < 360){_rotation+=3};
}

klaar.

Verwijderd

Topicstarter
ja klopt, maar heb je dan ook een oplossing voor het feit dat die actie alleen moet plaatsvinden als men op een knop drukt?

de vraag is dus: kan ik het zodanig maken dat de cirkel niet continu draait, maar enkel als je op het knopje drukt.

Verwijderd

op de button:
code:
1
2
3
on(press){
  _root.hierdenaamvandemc.dostuff = roteer;
}

op de mc:
code:
1
2
3
onClipEvent(enterFrame){
  do_stuff();
}

op de _root:
code:
1
2
3
4
5
6
7
8
9
   _root.hierdenaamvandemc.dostuff = null;
   
   movieclip.prototype.roteer = function(){
     if(_rotation<360){
       _rotation+=4;
     }else{
      this.dostuff = null;
     }
   }

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 10:16
Op knop;
code:
1
2
3
4
5
6
7
on (press) {
    _root.buttonDown = true;
}

on (release) {
    _root.buttonDown = false;
}

Op je MC:
code:
1
2
3
onClipEvent (enterFrame) {
    if(_rotation < 360 && _root.buttonDown){_rotation+=3};
}

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 10:16
Op de manier van B-Top kan ook :P.

Verwijderd

Op dinsdag 16 april 2002 13:55 schreef McVirusS het volgende:
Op knop;
code:
1
2
3
4
5
6
7
on (press) {
    _root.buttonDown = true;
}

on (release) {
    _root.buttonDown = false;
}

Op je MC:
code:
1
2
3
onClipEvent (enterFrame) {
    if(_rotation < 360 && _root.buttonDown){_rotation+=3};
}
Kleiner, maar dit kost ook proc tijd als de mc niets doet.

Verwijderd

Topicstarter
ok dan thnx :)
Pagina: 1