Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-11-2009, 21:48   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2009
Beiträge: 15
Question 2 Spielfiguren??

Hallo

Zurzeit bastle ich ein bischen an einem Spielchen, das so was wie Mohrfrosch ist!

Nun habe ich im moment 2 Probleme:

Nr.1
Ich brauche einen hitTest, der nur dann die Bedingung erfüllt, wenn er eben nicht berührt wird!

Also eigentlich so was wie:

if(hitTest(_root["Wagen_2"+i]))or(hitTest(_root["Bombenleger"+i])){
_root.Autoda = 1
}
(Bis da gehts! Jetzt brauche ich hilfe! So etwa stelle ich mir das vor

if((not(hitTest(_root["Wagen_2"+i])))&&(not(hitTest(_root["Bombenleger"+i]))){
_root.Autoda = 0
Warum geht das nicht????

Nr.2
Mein Frosch kann natürlich auch unter die Räder kommen! Das Funktioniert schon ma!
Problem: Der Frosch soll auf die Autos (attachMovis) springen können
Wenn ich den Frosch als attachMovie machen würde, dass eine höhere ebene als die Autos hat, könnte er nicht mehr UNTER die Räder kommen!

Meine Idee:
Ich lasse die Spielfigur unangetastet! Mache aber einen zusätzlichen Frosch in der Bibioteck, der dann bei Spielbegin genau über dem "normalen" Frosch als attachmovie geladen wird! Da beide über die gleichen Bewegungen verfügen, fällt niemandem auf, dass es 2 Sind!
Steht der Frosch vor einem wagen, bei dem er aufspringen kann, wird der veranlast, dass er (solange er neben/auf/neben dem Lastwagen steht) nicht überfahren werden kann! Frosch 2 Springt dann "sichtbar" auf den wagen!
Wird der Frosch aber überfahren, wird Frosch 2 soooooofort unsichtbar b.z das Framme dafür ist bei ihm leer!

oder hat jemand eine ander e.v elegantere idee.....

Danke im Voraus für alle Brauchbaren AW
gruss
skript_Dussel
skript_Dussel ist offline   Mit Zitat antworten
Alt 17-11-2009, 09:00   #2 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
o_O ... was soll denn "not()" sein ... wo hast du das denn gefunden?
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 17-11-2009, 11:19   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2009
Beiträge: 15
Ich wusste nicht(und weiss es jetzt noch nicht) Wie ich einen hitTest programieren kann, der eben nur dann weiter geht, wenn er nicht berührt wird, also eigentlich NICHT erfühlt ist! Da ich nicht weiter wuste, habe ich dann einfach ma ein not eingesetzt und das hat nicht mal ne Fehlermeldung ergeben!-Funktioniert hat es trozdem nicht!


Meine Frage ist konkret nur, wie kann ich machen, dass wenn keine Kolision/Berührung vorhanden ist, "_root.Autoda = 0" ist??

Ach ja...das ganze muss ich dann noch 10mal mit && zusammenhängen....
Nur wenn keine Berührung mit "XX" und "XY" und "YY" und ..und und und
_________erst dann ist sie erfühlt

Das erste Skript das ich oben hinen kopiert habe, ist übrigens auch gekührzt(funktioniert aber)-es währe auch 10 mal or or or or or....

Hoffe, das ihr mir weiterhelfen könnt....
skript_Dussel ist offline   Mit Zitat antworten
Alt 17-11-2009, 12:23   #4 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
wenn du bei einer Funktion die true/false egeben kann auf das negative ergebnis abfragen willst gibts 2 Möglichkeiten:

PHP-Code:
if(mc.hitTest(mc2) == false) {

}

// oder:

if(!mc.hitTest(mc2)) {


__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 17-11-2009, 14:45   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2009
Beiträge: 15
Also ich verstehe es immer noch nicht
PHP-Code:
if(this.hitTest(_root["Kemeriboden_w_1"+i]) == false){ 
Was ist in diesem script falsch????

Er geht mir immer weiter!!!

zu Testen habe ich nun was angehängt...
PHP-Code:
      if(this.hitTest(_root["Bombenleger"+i]) == false){
          
_root.Auto_Stopp _root.Auto_Stopp 1;
//_root.Auto_Stopp gebe ich in einem Textfeld ein! so kann ich sehen ob er weiter geht oder nicht! 
Der MC Bombenleger+1 MUSS stimmen...einige Zeilen weiter oben brauche ich diesen MC auch und da tut er brav seinen Dienst

Dieser Zähler get immer nach oben:_root.Auto_Stop!!!

Was mach eich denn soooooooo derart falsch????
Soll ich mal den ganzen Script von diesem hittest reinstellen?

Gruss
skript_Dussel
__________________
Denke nie gedacht zu haben,denn das Denken der Gedanken ist gedankenloses Denken!Wenn du Denkst, du denkst, dann denkst du nur du denkst aber denken tust du nicht!Denn das denken der Gedanken ist gedankenloses denken!!
skript_Dussel ist offline   Mit Zitat antworten
Alt 18-11-2009, 13:09   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2009
Beiträge: 15
ah ha..jetzt ist mir klar!

Das kann ja gar nich gehen!

da MC2 am ende mit einer for Schleife versehen ist müsten ja 50 Movis auf dem hitTest stehen(b.z mit allen Fahrzeugen 500!!) damit es false ist

Was kann ich mach??? hat niemand eine idee...

Nochmal das Problem!

Ich habe einen hitTest und grundsätzlich 10 Verschiedene MoviClips!

Die MoviClips werden auf die Bühne geholt!

Sobald 1 Movie Clip (egal welcher) auf den hitTest kommt muss "_root.Autoda" den wert 1 haben!

Wenn keiner mehr da steht geht es wieder auf wert Null!

Wie kann ich das machen?? Das ist im Moment mein Gröstes Problem!
Problem NR2 das ich oben geschildert habe ist nicht schlimm, da ich gut auf diese Funktion verzichten kann!

Theroretisch kann ich Problem numemr 1 auch auf eine ganz andere Art lösen, nämlich mit einem Timmer...Ich weiss aber nicht, ob das Voll verhält!

Währe froh um vorschläge!
Skript_Dussel
__________________
Denke nie gedacht zu haben,denn das Denken der Gedanken ist gedankenloses Denken!Wenn du Denkst, du denkst, dann denkst du nur du denkst aber denken tust du nicht!Denn das denken der Gedanken ist gedankenloses denken!!
skript_Dussel ist offline   Mit Zitat antworten
Alt 18-11-2009, 13:13   #7 (permalink)
Ketchup-Fabrik
 
Registriert seit: Dec 2008
Beiträge: 71
ich vermisse hier ggf. Fehlermeldungen und ähnliches. Vllt wäre es nicht verkehrt, wenn du mal die fla postest, dann können die leute mit deinem code arbeiten und dir vllt besser helfen.
Tomate_Salat ist offline   Mit Zitat antworten
Alt 18-11-2009, 13:40   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2009
Beiträge: 15
ok tanks für den Tipp! Ich hatte es bereits vor......

Ich habe im Moment noch einige "Baustellen" offen, die ich zuvor noch abschliesen möchte..

Ich nehme an, dass ich in ein paar Stunden das Game dann mal reinsetze...
__________________
Denke nie gedacht zu haben,denn das Denken der Gedanken ist gedankenloses Denken!Wenn du Denkst, du denkst, dann denkst du nur du denkst aber denken tust du nicht!Denn das denken der Gedanken ist gedankenloses denken!!
skript_Dussel ist offline   Mit Zitat antworten
Alt 18-11-2009, 17:20   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2009
Beiträge: 15
ok..es sind immer noch Baustellen offen, aber es funkt soweit ma...

Ich habe ein problem mit der Dateigrösse...
Ich kann nicht uploaden...
Warum nur 488kb für ganze FlashDokumente?????

Andererseits bin ich überrascht, dass ich so viel Platz brauche??!!

Mein Dokument ist 584 kb!
Was braucht soooo viel Platz? in der Biblioteck sind 21 items...jedes hat zwischen 2 und 20 Frammes..um den Verkehr zu regeln, habe ich 170 Zeilen Skript! Was braucht da sooo viel Platz??
__________________
Denke nie gedacht zu haben,denn das Denken der Gedanken ist gedankenloses Denken!Wenn du Denkst, du denkst, dann denkst du nur du denkst aber denken tust du nicht!Denn das denken der Gedanken ist gedankenloses denken!!
skript_Dussel ist offline   Mit Zitat antworten
Alt 18-11-2009, 17:33   #10 (permalink)
Neuer User
 
Registriert seit: Nov 2009
Beiträge: 15
Folgende Angabe ist Falsch!

Zitat:
Zitat von skript_Dussel Beitrag anzeigen
Mein Dokument ist 584 kb!
Es ist sogar noch grösser
__________________
Denke nie gedacht zu haben,denn das Denken der Gedanken ist gedankenloses Denken!Wenn du Denkst, du denkst, dann denkst du nur du denkst aber denken tust du nicht!Denn das denken der Gedanken ist gedankenloses denken!!
skript_Dussel ist offline   Mit Zitat antworten
Alt 20-11-2009, 07:16   #11 (permalink)
Ketchup-Fabrik
 
Registriert seit: Dec 2008
Beiträge: 71
kenne mich mit Flash MX nicht aus, da ich mit CS4 eingestiegen bin, aber hier 2 lösungen:

a) in flash: [Datei] und dort [Speichern und Komprimieren] auswählen. Damit wird die Datei wesentlich kleiner, ob und wie ein Dateiverlust ensteht, kann ich dir da nicht sagen. Meiner (geringen) Erfahrung aber, entsteht keiner

b) wenn du winrar hast [wenn nicht: laden]: Rechtslick auf die fla-Datei (im Explorer), dort "Zum Archiv hinzufügen..." wählen und dann unten Links bei "volumengröße(in Bytes)" eingeben: 49152, dann müsstest du mehrere Dateien bekommen, bei denen mind. alle bis auf die letzte 48kb groß ist.

MFG

Tomate_Salat

Geändert von Tomate_Salat (20-11-2009 um 09:20 Uhr) Grund: Falsche Byte-Angabe korrigiert
Tomate_Salat ist offline   Mit Zitat antworten
Alt 20-11-2009, 07:33   #12 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
erster tipp
arbeite mit attachMovie() und swapDepths() ...
zweiter tipp
lass die autos den hittest durchführen nicht den frosch
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Alt 20-11-2009, 11:36   #13 (permalink)
Neuer User
 
Registriert seit: Nov 2009
Beiträge: 15
Die wahns grösse kommt nicht (nur) von da...

Ich habe jede Element des Spiels einzeiln in ein neues FLA gezogen, gespeichert und dann geschaut, wie gross das dokument ist!

Dannn habe ich die Biblioteck des neuen FLA gelehrt und das nächst ereingezogen!

beim 3 Versuch hatte ich den "Übeltäter"! Der Frosch war 300kb gross

Grund:
Ich hatte den Frosch sehr gross gezeichnet! (psst. etwa so 400pix breit!) Im Spiel ist er glaub aber dann nur etwa 16pix
Um ihn sooo einigermassen Animieren zu können, habe ich etwa 10 layers benötigt + eine Ebene nur Skript!

Im moment mache ich folgendes:
1.)Alles in 1 Ebene Kopiern (inkl.Skript) Dammit war ich nach 10 min fertig!
2.)Ich bin daran, den Frosch Framme für Framme zu verkleinern und Konturlinen die man eh nicht sieht zu löschen!


Zitat:
lass die autos den hittest durchführen nicht den frosch
Wie meinen??
Ich habe 20 verschiedene autos! 10 für L nach R und 10 für R nach L
Soll ich (wie ich es jetzt habe) auf jeden Wagen einen hitTest legen?

Ist doch Blödsinn, eine for schleife auf den Frosch zu legen und dann für alle 20 Wagen 50 verschiedene Ebenen abfragen!

Ich nehme an, du meinst Variante 1 oder??

eine möglichkeut währe, dass ich euch die Daten innert 2 FLA rübergebe!
Dann köntet ihr ma ne runde reinschauen, während ich die restlichen Autos zeichne und den Frosch verkleinere!

Und Gruss
skript_Dussel
__________________
Denke nie gedacht zu haben,denn das Denken der Gedanken ist gedankenloses Denken!Wenn du Denkst, du denkst, dann denkst du nur du denkst aber denken tust du nicht!Denn das denken der Gedanken ist gedankenloses denken!!
skript_Dussel ist offline   Mit Zitat antworten
Alt 22-11-2009, 19:21   #14 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
Zitat:
Zitat von skript_Dussel Beitrag anzeigen
...

Wie meinen??
Ich habe 20 verschiedene autos! 10 für L nach R und 10 für R nach L
Soll ich (wie ich es jetzt habe) auf jeden Wagen einen hitTest legen?
...
...ungefähr so (Syntaxfehler nicht ausgeschlossen, hab hier kein Flash):
PHP-Code:
var fr=this.attachMovie("Frosch","Frosch",1);
fr.onMouseDown=function(
    
fr.play();
    
/*ich vermute mal, daß Du den 'Sprung' als frame2frame Animation im mc frosch liegen hast
    Du sollest auch noch 2 Befehle im Sprungfilm einfügen;
    wenn der Frosch über den Autos sein soll
    this.swapDepths(100);
    und wenn er wieder runterfällt
    this.swapDepths(1);*/
);
for (var 
i=1;i<21;i++){
var 
car=this.attachMovie("Auto","Auto"+i,i+1))
car.onEnterFrame=function(){
    if (
this.hitTest(_parent.frosch)){
        
trace (this._name+" hat den Frosch");
        
//hier natürlich Deine Kollisionsroutine
        
}
    }


Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Alt 22-11-2009, 19:31   #15 (permalink)
Neuer User
 
Registriert seit: Nov 2009
Beiträge: 15
Versteh nur "Bahnhof" Ich war leider krank und konte das Spiel noch nicht fertig verkleinern, damit es ins Forum passt....

Bin aber schon mal weiter gekommen:

ohne einschränkung von funktionen, bin ich von 845 kb auf 528 kb gekommen...

Und ich darf max hochladen : fla 488,3 KB

Habe nur Layers beim Frosch rausgelöscht und auf eines gelegt und den Frosch in der Bibliotheck verkleinert...

Jetzt müssen die Autos noch daran glauben!!

Will nicht zu viel versprechen, aber bis Morgen abend bin ich etwa fertig!
__________________
Denke nie gedacht zu haben,denn das Denken der Gedanken ist gedankenloses Denken!Wenn du Denkst, du denkst, dann denkst du nur du denkst aber denken tust du nicht!Denn das denken der Gedanken ist gedankenloses denken!!
skript_Dussel ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
attachmovie, hittest, mohrfrog

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Spielfiguren in Flash Steini83x Flash Einsteiger 6 19-08-2006 18:44
Animation von (iso)Spielfiguren le block Spielkonzepte und Spieleprogrammierung 4 19-04-2005 12:02
spielfiguren steuern neo-labz Softwarearchitektur und Entwurfsmuster 0 20-03-2003 15:45
spielfiguren fragman1 Flash 4 und Flash 5 2 06-08-2002 19:24
Spielfiguren animieren Leprosy Flash 4 und Flash 5 9 26-04-2002 18:16


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:24 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele