1&1 DSL
Flashhilfe.de - Flash Community

Kreise durch Mausklick rotieren lassen [Flash CS4]

Forum > Flash Script und Tutorial Gesuche > Kreise durch Mausklick rotieren lassen

 


AntwortenRegistrieren Seite1

 27.07.2010, 14:21 
Benutzerbild von Flash_Nerd
Beiträge: 21
Wohnort: Italien
Registriert: Jul 2010

Kreise durch Mausklick rotieren lassen
Erstmal hallo an das ganze Flashhilfe-Forum :D

Ich habe eine frage zu einem Code welchen ich im Web gefunden habe. Wollte mit diesem Code einige Kreise durch klick um ein paar Grad rotieren lassen und nur wenn man alle Kreise um einem bestimmten Winkel gedreht hat gelangt man durch gotoAndStop auf dem nächsten Frame. Leider scheint es nicht so funktionieren zu wollen wie ichs mir gedacht habe :(

Im Anhang die Datei. Hoffe jemand kann mir da weiterhelfen und sagen was ich wiedermal falsch gemacht habe :D
 27.07.2010, 14:23Re1
Benutzerbild von Flash_Nerd
Beiträge: 21
Wohnort: Italien
Registriert: Jul 2010

Themenautor/in

mhh die Datei hats mir nicht angehängt… :/

also hier nochmals xD

Brauche wirklich eure Hilfe…

Angehängte Dateien:
Adobe Flash Quelldatei drehung2.fla86.50 KB
Geändert von Flash_Nerd am 28.07.10 um 12:44 Uhr

 07.08.2010, 14:38Re2
Benutzerbild von Flash_Nerd
Beiträge: 21
Wohnort: Italien
Registriert: Jul 2010

Themenautor/in

mhhh… probier es mal so.

also hier hab ich den Actionscript-Code aber wie bereits erwähnt will es bei mir nicht funktionieren. Was hab ich hier vergessen oder wie muss ich hier vorgehen damit das mit den Kreisen auch funktioniert?

ActionScript:
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
     stop();
    
     var circles : Array = [kreis1, kreis2, kreis3, kreis4, kreis5];
      
      function init() : void
      {
            for each( var circle : MovieClip in circles)
            {
                circle.addEventListener(MouseEvent.CLICK, rotate);
               
                circle.endAngle = 75;
            }
        }
      
      function rotate( evt : MouseEvent ) : void

   {
            var index : int = circles.indexOf(evt.currentTarget);
           
            evt.currentTarget.rotation += 25;
 
            switch(index)
            {
                case 0:
 
                    circles[1].rotation += 25;
                    circles[2].rotation += 25;
 
                    break;
                case 1:
                    break;
                case 2:
                    break;
                case 3:
                    break;
            }
           
 
            var count : int = 0;
            for each( var circle : MovieClip in circles )
            {
 
                if(circle.endAngle == circle.rotation)
                    count++;
            }
 
            if(count == circles.length)
                gotoAndStop(2);
        }
 
nicht sichtbar bei eingeloggten Mitgliedern
 07.08.2010, 15:25Re3
Benutzerbild von RustyCake
Beiträge: 1769
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

Warum werden die ersten drei gedreht, wenn man auf den ersten klickt? Da wird es schwierig, das Bild 2 zu erreichen!
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
 07.08.2010, 15:41Re4
Benutzerbild von Flash_Nerd
Beiträge: 21
Wohnort: Italien
Registriert: Jul 2010

Themenautor/in

Die Kreise sollten so wie ein Puzzle funktionieren und damit dass mehrere Kreise gedreht werden sollte das Puzzle schwieriger gemacht werden. Damit es nicht allzu leicht ist. Aber es will einfach nicht funktionieren. Die Kreise drehen sich nicht bei einem Klick und ichhabe keine ahnung wo ich etwas verändern muss damit es klappt. Außerdem müsste ja jeder Kreis ne unterschiedliche Endrotation besitzen… aber wie gesagt. Kein Tau wie das funktionieren soll und im Web ist dazu leider auch nichts zu finden.
 07.08.2010, 16:59Re5
Benutzerbild von RustyCake
Beiträge: 1769
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

Also ich hab Dein Script übernommen, mir die Kreis_mc's gebastelt, dann den ersten drei mal klicken, und 4 & 5 jeweils auch dreimal, und der Käse ist gegessen ;-)
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
 
nicht sichtbar bei eingeloggten Mitgliedern1&1 Webhosting
 07.08.2010, 18:19Re6
Benutzerbild von Flash_Nerd
Beiträge: 21
Wohnort: Italien
Registriert: Jul 2010

Themenautor/in

aha also hat es bei dir wirklich funktioniert? :O

gäbe es irgendwie die möglichkeit dass ich mir mal deine datei angucken kann? :D
 07.08.2010, 18:36Re7
Benutzerbild von RustyCake
Beiträge: 1769
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

Hab ja nur fünf Kreise auf der Bühne, mit Instanznamen "kreis1-kreis5", und das Script von Dir, hab nur das Array ein wenig anders geschrieben!
ActionScript:
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
stop ();

var circles : Array = [this.kreis1, this.kreis2, this.kreis3, this.kreis4, this.kreis5];

function init ():void
{
     for each (var circle:MovieClip in circles)
     {
        circle.addEventListener (MouseEvent.CLICK, rotate);
 
        circle.endAngle = 75;
     }
}
function rotate ( evt : MouseEvent ):void
{
     var index : int = circles.indexOf(evt.currentTarget);
 
     evt.currentTarget.rotation += 25;
     trace (index);
     switch (index)
     {
        case 0 :
 
           circles[1].rotation += 25;
           circles[2].rotation += 25;
 
           break;
        case 1 :
           break;
        case 2 :
           break;
        case 3 :
           break;
     }
     var count : int = 0;
     for each (var circle:MovieClip in circles)
     {
        trace ("circle.endAngle == "+circle.endAngle +"circle.rotation == "+ circle.rotation);
        if (circle.endAngle == circle.rotation)
        {
           count++;
        }
     }
     if (count == circles.length)
     {
        gotoAndStop (2);
     }
}
init ();
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
 07.08.2010, 18:39Re8
Benutzerbild von RustyCake
Beiträge: 1769
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

Die fla noch.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"

Angehängte Dateien:
Adobe Flash Quelldatei circles_rotate.fla52.00 KB
 07.08.2010, 19:59Re9
Benutzerbild von Flash_Nerd
Beiträge: 21
Wohnort: Italien
Registriert: Jul 2010

Themenautor/in

wow vielen dank :O

da klapp wirklich alles perfekt genauso wie ichs mir vorgestellt habe :D thx

achja nur so ne frage wegen den 75 als endwinkel. kann man auch für die anderen kreise also 2 oder 3 andere endwinkel einstellen? falls es möglich ist.

aber ich freu mich schon erstmal dass es auch so geklappt hat und nochmals thx.
Geändert von Flash_Nerd am 07.08.10 um 20:03 Uhr

 07.08.2010, 21:23Re10
Benutzerbild von RustyCake
Beiträge: 1769
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

Ja des müßte auch gehen, ich meld mich wenn mir was einfällt!
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
 07.08.2010, 21:48Re11
Benutzerbild von Flash_Nerd
Beiträge: 21
Wohnort: Italien
Registriert: Jul 2010

Themenautor/in

kann glaub ich gar nicht oft genug danke sagen =)
 07.08.2010, 21:55Re12
Benutzerbild von RustyCake
Beiträge: 1769
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

Passt scho.
Schau Dir das mal an.
ActionScript:
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
stop ();

var circles : Array = [this.kreis1, this.kreis2, this.kreis3, this.kreis4, this.kreis5];
var angel:Array =[75,100,125,100,75];
function init ():void
{
     var e:int = 0;
     for each (var circle:MovieClip in circles)
     {
        circle.addEventListener (MouseEvent.CLICK, rotate);
        circle.endAngle = angel[e++];
     }
}
function rotate ( evt : MouseEvent ):void
{
     var index : int = circles.indexOf(evt.currentTarget);
 
     evt.currentTarget.rotation += 25;
     switch (index)
     {
        case 0 :
 
           circles[1].rotation += 25;
           circles[2].rotation += 25;
 
           break;
        case 1 :
           break;
        case 2 :
           break;
        case 3 :
           break;
     }
     var count : int = 0;
     for each (var circle:MovieClip in circles)
     {
        trace ("circle.endAngle == "+circle.endAngle +"circle.rotation == "+ circle.rotation);
        if (circle.endAngle == circle.rotation)
        {
           count++;
        }
     }
     if (count == circles.length)
     {
        gotoAndStop (2);
     }
}
init ();
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
 07.08.2010, 22:06Re13
Benutzerbild von Flash_Nerd
Beiträge: 21
Wohnort: Italien
Registriert: Jul 2010

Themenautor/in

einfach perfekt. wusste hier würde ich auf gute leute treffen ^^

nochmals vielen dank und melde mich bei weiteren fragen ;)
Geändert von Flash_Nerd am 08.08.10 um 17:15 Uhr

 
Themen
Ähnliche Beiträge zum Thema
 
AntwortenRegistrieren Seite1

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de