Flashhilfe.de - Flash Community

Bagger mit Joystick bedienen [Flash 10]

 


AntwortenRegistrieren Seite1  

Sherman0#1
Benutzerbild von Sherman0
Beiträge: 5
Registriert: Jul 2011

14.07.2011, 15:31

Hallo Leute,
ich habe einen Bagger gebastelt, der mit Buttons bedient wird.
die Buttons sind auf einem Joystick, den ich draggen möchte um den Bagger nach links und rechts zu schieben.

wie kann man das nun machen?

Die Datei in CS4 gibt es hier:
BaggerNEU_CS4.fla File size: 1.17 MB

und das Script dazu:

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.onEnterFrame = function() {
     baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc._y = random(2);
     baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc._x = random(2);
     }

controller_mc.lang_btn.onPress = function () {
     
     
     baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.onEnterFrame = function () { //hier wird der MC arm im ersten Frame angesprochen
      if (baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc._rotation <= 42 ) {
           baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc._rotation += 1;
           schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc._rotation += 1;
           } // if
      
            trace("Lang:" + baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc._rotation);
     }
        
}


controller_mc.lang_btn.onRelease = function () {  // hier wird beim Verlassen des Buttons der MC getopt
   delete(baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.onEnterFrame);
     delete(schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.onEnterFrame);
     
}

controller_mc.langZu_btn.onPress = function () {
     
     
     baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.onEnterFrame = function () { //hier wird der MC arm im ersten Frame angesprochen
      if (baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc._rotation >= 1 ) {
           baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc._rotation -= 1;
           schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc._rotation -= 1;
           } // if
      
            trace("LangZu:" + baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc._rotation);
     }
        
}


controller_mc.langZu_btn.onRelease = function () {  // hier wird beim Verlassen des Buttons der MC getopt
   delete(baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.onEnterFrame);
     delete(schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.onEnterFrame);
     
}


controller_mc.mittel_btn.onPress = function () {
     
     
     baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.onEnterFrame = function () { //hier wird der MC arm im ersten Frame angesprochen
      if (baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc._rotation <= 90 ) {
           baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc._rotation += 1;
           schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc._rotation += 1;
           } // if
      
            trace("Mittel:" + baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc._rotation);
           
     }
        
}


controller_mc.mittel_btn.onRelease = function () {  // hier wird beim Verlassen des Buttons der MC getopt
   delete(baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.onEnterFrame);
     delete(schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.onEnterFrame);
     
}

controller_mc.mittelZu_btn.onPress = function () {
     
     
     baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.onEnterFrame = function () { //hier wird der MC arm im ersten Frame angesprochen
      if (baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc._rotation >= -10 ) {
           baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc._rotation -= 1;
           schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc._rotation -= 1;
           } // if
      
            trace("MittelZu:" + baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc._rotation);
           
     }
        
}


controller_mc.mittelZu_btn.onRelease = function () {  // hier wird beim Verlassen des Buttons der MC getopt
   delete(baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.onEnterFrame);
     delete(schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.onEnterFrame);
     
}

controller_mc.kurz_btn.onPress = function () {
     
     
     baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.onEnterFrame = function () { //hier wird der MC arm im ersten Frame angesprochen
      if (baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc._rotation <= 40 ) {
           baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc._rotation += 1;
           schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc._rotation += 1;
           
           } // if
      
            trace("kurz:" + baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc._rotation);
           
     }
        
}


controller_mc.kurz_btn.onRelease = function () {  // hier wird beim Verlassen des Buttons der MC getopt
   delete(baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.onEnterFrame);
     delete(scahtten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.onEnterFrame);
     
}

controller_mc.kurzZu_btn.onPress = function () {
     
     
     baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.onEnterFrame = function () { //hier wird der MC arm im ersten Frame angesprochen
      if (baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc._rotation >= -10 ) {
           baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc._rotation -= 1;
           schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc._rotation -= 1;
           } // if
      
            trace("kurzZu:" + baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc._rotation);
           
     }
        
}


controller_mc.kurzZu_btn.onRelease = function () {  // hier wird beim Verlassen des Buttons der MC getopt
   delete(baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.onEnterFrame);
     delete(baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.onEnterFrame);
     
}


controller_mc.kelleAuf_btn.onPress = function () {
     
     
     baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc.onEnterFrame = function () { //hier wird der MC arm im ersten Frame angesprochen
      if (baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc._rotation <= 3 ) {
           baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc._rotation += 1;
           baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueRechts_mc._rotation -= 1;
           schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc._rotation += 1;
           schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueRechts_mc._rotation -= 1;
 
           } // if
      
            trace("kelleAuf:" + baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc._rotation);
           
     }
        
}


controller_mc.kelleAuf_btn.onRelease = function () {  // hier wird beim Verlassen des Buttons der MC getopt
   delete(baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc.onEnterFrame);
     delete(baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueRechts_mc.onEnterFrame);
     delete(schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc.onEnterFrame);
     delete(schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueRechts_mc.onEnterFrame);
}

controller_mc.kelleZu_btn.onPress = function () {
     
     
     baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc.onEnterFrame = function () { //hier wird der MC arm im ersten Frame angesprochen
      if (baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc._rotation >= -80 ) {
           baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc._rotation -= 1;
           baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueRechts_mc._rotation += 1;
           schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc._rotation -= 1;
           schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueRechts_mc._rotation += 1;
           
 
           } // if
      
            trace("kelleZu:" + baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc._rotation);
           
     }
        
}


controller_mc.kelleZu_btn.onRelease = function () {  // hier wird beim Verlassen des Buttons der MC getopt
   delete(baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc.onEnterFrame);
     delete(baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueRechts_mc.onEnterFrame);
     delete(schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueLinks_mc.onEnterFrame);
     delete(schatten_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.klaueRechts_mc.onEnterFrame);
 
}

baggerAlles_mc.baggerFahrwerk_mc.baggerChassie_mc.oberBagger_mc.mitteBagger_mc.klaueBagger_mc.setMask(kelle_msk);





Ich wäre dankbar für eure Hilfe.

Grüße
Michael
Geändert von Sherman0 am 14.07.11 um 15:32 Uhr
Werbung
Beiträge: 0
Registriert: Feb 2016


vindel#2
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

14.07.2011, 17:21

Hallo,

also du musst deinen Controller_Mc so ausrichten, dass die Achse vom Joystik im Koordinatenunrsprung ist. (also den MC "controller_mc" öffnen und alles nach oben und rechts verschieben). Somit dreht sich der Joystick richtig.

Im AS schreibst du dann soetwas:
ActionScript:
1
2
3
4
5
6
7
8
9
controller_mc.onPress = function() {
     var mX:Number = _xmouse;
     this.onEnterFrame = function() {
        this._rotation = _xmouse-mX;
     }
}
controller_mc.onRelease = controller_mc.onReleaseOutside = function() {
     delete this.onEnterFrame;
}

Beim Klick wird die aktuelle Mausposition gespeichert und dann durch die onEnterFrame die Differenz von aktueller und alter Mausposition gedreht.
Achtung: du solltest in deinem "controller_mc" einen neuen MC erstellen mit dem Joystic der auf einer Ebene unter den Buttons liegt, da diese sonst nicht mehr klickbar sind...

Dang wichtig: bei allen "onRelease" noch ein "onReleaseOutside" hinzufügen, damit auch beim verlassen des Buttons die Funktion terminiert wird.
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
Sherman0#3
Benutzerbild von Sherman0
Beiträge: 5
Registriert: Jul 2011

Themenautor/in

14.07.2011, 18:12

Wow, schon mal super soweit.
Wie viel kürzer man das alles schreiben kann. Knüller!

ich habe es soweit umgesetzt, aber ich schaffe es nicht, dass die Buttons klickbar bleiben und auch nicht, dass man mX auf _x von baggerAlles_mc ordentlich umsetzt, sodass der Bagger nach rechts und links wandert.

Am besten wäre es wohl, wenn man die Richtung der Rotation speichern würde und mit if > 0 dann baggerAlles._x += 1; und umgekehrt schreibt;)

Ich weiß nur nicht wie das aussehen soll.

Neue Version:
http://www.fileserve.com/file/Y8rqeZv][b]BaggerNEU_Joystick_CS4.fla File size: 1.17 MB[/b
vindel#4
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

15.07.2011, 14:04

Das machst du indem du einfach deine Variable mX nach jeder bewegung aktualisierst:
ActionScript:
1
2
3
4
5
6
7
controller_mc.onPress = function() {
     var mX:Number = _xmouse;    
       this.onEnterFrame = function() {
        this._rotation += _xmouse-mX;
        mX = _xmouse;
       }
}
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
Werbung
Beiträge: 0
Registriert: Feb 2016


Sherman0#5
Benutzerbild von Sherman0
Beiträge: 5
Registriert: Jul 2011

Themenautor/in

15.07.2011, 20:15

Hey danke, super Sache.

Jetzt funktioniert alles!

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2020 Sebastian Wichmann - Flashhilfe.de