Flashhilfe.de - Flash Community

Movieclip auf Movieclip "laufen" lassen [Flash CS4]

 


AntwortenRegistrieren Seite1  

Peacemaker262#1
Benutzerbild von Peacemaker262
Beiträge: 35
Registriert: Mar 2011

03.04.2011, 12:32

Hallo,
Ich bastel gerade ein Jump'n Run zusammen,
und habe mir jezt mühsam eine Engine für die tilebased map geknetet.

Doch habe ich gemerkt das das alles nicht sonderlich gut aussieht und mich gefragt ob mann nicht auch einfach das Level in ein Mc machen kann und den Charakter auf diesem mc rummlaufen und springen lässt. Nun stellt sich doch die frage wie man das macht?
und davon abgesehen frage ich mich auch wie mann die gravitation regeln kann.
Das Spiel soll ungefär wie supermario für den gameboy, super nintendo augebaut sein.

wäre sehr dankbar über vorschläge und anregungen.
Geändert von Peacemaker262 am 04.04.11 um 12:02 Uhr
Peacemaker262#2
Benutzerbild von Peacemaker262
Beiträge: 35
Registriert: Mar 2011

Themenautor/in

04.04.2011, 17:19

kommt schon Leute ich will doch nur wissen wie ich einen Movieclip(Landschaft, Boden)
nonwalkabel für meinen Charakter mache.
springer#3
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

04.04.2011, 18:11

hi,
wenn du wirklich eine gute schwerkraft simulieren willst, kommst du um eine physics-engine nicht drumrum...
Box2D ist zb. so eine....
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
Peacemaker262#4
Benutzerbild von Peacemaker262
Beiträge: 35
Registriert: Mar 2011

Themenautor/in

04.04.2011, 23:57

o gott ich wollte eigendlich nur wissen ob es möglich ist das ich einem movieclip sagen kann das er auf dem anderen stehen kann und nicht (wenn mit den pfeiltaten steuerbar) durch den mc laufen kann.

trozdem danke.
Geändert von Peacemaker262 am 04.04.11 um 23:58 Uhr
Peacemaker262#5
Benutzerbild von Peacemaker262
Beiträge: 35
Registriert: Mar 2011

Themenautor/in

06.04.2011, 19:34

Also nochmal zur verständniss.

wenn ich einen Movieclip steuere (Pfeiltasten) kann ich dann sagen
wenn er auf einen anderen Movieclip springt oder dagegenläuft,
das er dann anhalten muss?

für eine antwort wäre ich euch sehr verbunden.
RustyCake#6
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

06.04.2011, 19:52

Yupp. Mit "hitTestObject" kann man so was realisieren.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Peacemaker262#7
Benutzerbild von Peacemaker262
Beiträge: 35
Registriert: Mar 2011

Themenautor/in

06.04.2011, 20:22

RustyCake,
 wenn du mich verfolgst wirst du nur genervt, könnte mir jemand ein beispiel basteln in dem mc1 stopt wenn es auf mc2 trifft.
Geändert von Peacemaker262 am 06.04.11 um 20:38 Uhr
cedddy#8
Benutzerbild von cedddy
Beiträge: 572
Registriert: May 2007

06.04.2011, 22:57

if(mc1.hitTestObject(mc2))
{
mc1.xSpeed = 0; // kenne hier nicht deine definition von geschwindigkeit
}

hitTestObject macht allerdings nur einen hittest nach dem boxPrinzip als der äußerste rand wenn du genauere brauchst musste dich nochmal melden
Bitte keine pn´s wegen irgendwelchen fragen zu Threads, dafür gibt es sie ja schließich
Peacemaker262#9
Benutzerbild von Peacemaker262
Beiträge: 35
Registriert: Mar 2011

Themenautor/in

07.04.2011, 01:23

Klasse vielen dank, vor lauter kompliziert denken sieht man die einfachen Wege nicht.

doch hat vieleicht noch jemand eine idee wie ich den mc dann erlaube in die andern richtungen zu laufen?
habe jetzt mal das versucht doch ist nicht so schlau
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
//-->  Charackter bewegt sich
   
   stage.addEventListener (Event.ENTER_FRAME, bewegen);
function bewegen (e:Event)
{
         if (Links_gedrückt)
         {
           geschwindigkeit = 5;
         charakter.x -= geschwindigkeit ;
         }
          if (Rechts_gedrückt)
         {geschwindigkeit = 5;
           charakter.x += geschwindigkeit ;
         }
            if (Hoch_gedrückt)
         {geschwindigkeit = 5;
          charakter.y -= geschwindigkeit ;
         }
            if (Unten_gedrückt)
         {
            charakter.y += geschwindigkeit ;
         }
 
}
stage.addEventListener(Event.ENTER_FRAME,checkHitTest);

function checkHitTest(event:Event){
        if(charakter.hitTestObject(block))
        {
           geschwindigkeit = 0;
  }
}
   
Geändert von Peacemaker262 am 07.04.11 um 21:07 Uhr
Peacemaker262#10
Benutzerbild von Peacemaker262
Beiträge: 35
Registriert: Mar 2011

Themenautor/in

07.04.2011, 21:09

in dieser form bleibt meine geschwindigkeit auf null egal welche tasten ich dnn noch drücke,
kann man ihm irgend wie sagen wenn du von oben kommst kannst du nicht mehr runter aber rechts links und runter.
RustyCake#11
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

08.04.2011, 02:20

Evtl. noch eine zusätzlichen Variable wie "unten_hit" einbauen, die am Anfang auf "unten_hit = true" setzen, und bei hit auf "false", dann so was in der Art "if (Unten_gedrückt && Unten_hit)" verwenden.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Peacemaker262#12
Benutzerbild von Peacemaker262
Beiträge: 35
Registriert: Mar 2011

Themenautor/in

14.04.2011, 11:59

kannst du mir da ein genaueres beispiel nennen?

ich habe es momentan mit else gelöst aber bin nicht zufrieden
RustyCake#13
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

14.04.2011, 14:24

Zeig mal Deine Lösung.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Peacemaker262#14
Benutzerbild von Peacemaker262
Beiträge: 35
Registriert: Mar 2011

Themenautor/in

14.04.2011, 20:49

hier
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var altepositiony:Number = charakter.y;
var altepositionx:Number = charakter.x;

stage.addEventListener(Event.ENTER_FRAME,bewegung);

function bewegung(event:Event){
        if(charakter.hitTestObject (meinblock)){
           trace("treffer");
           charakter.x = altepositionx ;
           charakter.y = altepositiony ;
        } else {
        
           altepositionx = charakter.x;
           altepositiony = charakter.y;
        }
}


gefällt mir aber nicht wenn ich meinblock in einen Mc(hintergrund) rein tue und sage hintergrund.meinblock funktioniert es nicht es heisst dann zwar treffer aber der charakter stopt nicht, keine fehlermeldung
Geändert von Peacemaker262 am 14.04.11 um 20:51 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

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

 
Ähnliche Beiträge zum Thema
Das Leben geht weiter [Flash CS5] 12.01.2021 - Indy_Crossover
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de