Flashhilfe.de - Flash Community

Mystris [Flash MX]

 


AntwortenRegistrieren Seite1  

FishEye#1
Benutzerbild von FishEye
Beiträge: 16
Registriert: Dec 2003

16.02.2004, 17:29

hallo miteinander


zur zeit versuche ich mich an einer eigenen nachbildung des videospielklassikers tetris. dabei bin ich auf ein merkwürdiges problem gestoßen:

wenn ein tetramino (die vierer-blockklumpen die immer von oben runterfallen) unten angekommen ist, wird überprüft, ob sich eine durchgehende linie von blöcken gebildet hat. ist dies der fall, so werden alle beteiligten block-mcs um einige pixel nach rechts verschoben und ihr playheader auf das nächste frame geschickt, von wo aus sie per tweening ausfaden.

das klappt auch alles so weit so gut:

- alle block-mcs werden nach rechts verschoben (wird nachher nicht mehr so sein - jetzt nur zur demonstration)

- alle block-mcs faden aus


...das heißt... nicht ganz alle. die blöcke, die von dem tetramino stammen, faden merkwürdigerweise nicht aus.

aber ALLE block-mcs in der reihe werden auf exakt die gleiche art und weise angesprochen:

erst
blockmc._x += betrag;

dann
blockmc.gotoAndPlay("fadeout");


und die verschiebung KLAPPT ja auch für ALLE block-mcs. folglich werden auch die block-mcs die vom tetramino stammen durchaus angesprochen. nur das faden klappt nicht. warum ? und was kann ich dagegen tun ?

probieret und werdet des wunders offenbar:


http://mip.cuid.net/webdev03/akent/misc/backup/tetris1c.swf

(steuerung mit den pfeiltasten -> fokusieren nicht vergessen ! ;) )



Geändert von FishEye am 16.02.04 um 22:49 Uhr
Nemo#2
Benutzerbild von Nemo
Beiträge: 2331
Wohnort: Austria
Registriert: Jan 2003

17.02.2004, 09:38

hmm ich sehe da einige Probleme. Da ist immer so ein Schatten der Blöcke zu sehen, dann fallen die Blöcke auch nicht runter und es bleiben wirklich immer einige Blöcke über, aber nicht nur die des Tamiretimokilums, oder so...

Allerdings kann man die Fehler in der swf Datei nur sehen, um sie zu korrigieren bedarf es schon der *.fla Datei.

----------------------------
Dimidium facti, qui coepit, habet.
----------------------------
Dimidium facti, qui coepit, habet.
Geändert von Nemo am 17.02.04 um 12:02 Uhr
FishEye#3
Benutzerbild von FishEye
Beiträge: 16
Registriert: Dec 2003

Themenautor/in

17.02.2004, 21:39

was für schatten ??? dass andere blöcke einer komplettierten reihe übrigbleiben hab ich auch noch nicht beobachtet. ^.^''

wie auch immer: es geht ja nicht um irgendwelche anderen probleme die man noch entdecken mag (ähem... das spiel ist ja auch lange nicht fertig), sondern um DIESES EINE, wie oben erläutert.

hier ist jedenfalls die *.fla-datei (wird vermutlich eh keiner durchblicken... bei meinem "stil" :) ):


http://mip.cuid.net/webdev03/akent/misc/backup/tetris1c.rename
(die datei tetris1c.rename zu tetris1c.fla umbenennen - mein host erlaubt das uploaden von flas nicht. *schulterzuck*)




Geändert von FishEye am 17.02.04 um 21:39 Uhr
Nemo#4
Benutzerbild von Nemo
Beiträge: 2331
Wohnort: Austria
Registriert: Jan 2003

18.02.2004, 09:38

Jup es bleiben auch in der Fla immer irgendwelche Blöcke über, und es rutscht nie nach unten. Und Gameover gibts auch nicht :)

Ist wirklich etwas komplizierter, aber so eigen ist der Stil nicht. (Trotzdem, mit dem Color Objekt hättest du dir die vielen verschiedenen Bunten Blöcke spaaren können ^.^) Ein weilchen wirds aber dauern, ich meld micht dann wieder...

----------------------------
Dimidium facti, qui coepit, habet.
----------------------------
Dimidium facti, qui coepit, habet.
FishEye#5
Benutzerbild von FishEye
Beiträge: 16
Registriert: Dec 2003

Themenautor/in

18.02.2004, 14:26

>>(Trotzdem, mit dem Color Objekt hättest du dir die vielen verschiedenen Bunten Blöcke spaaren können ^.^)<<


grrr... bitte sich auf das thema zu beschränken :-\

mit dem color objekt hätte man da vielleicht auch was machen können, aber es hat auch seine nachteile, die u.a. dann zum tragen kommen, wenn die blöcke einmal nicht mehr nur einfarbig sind.




Geändert von FishEye am 18.02.04 um 14:26 Uhr
Nemo#6
Benutzerbild von Nemo
Beiträge: 2331
Wohnort: Austria
Registriert: Jan 2003

18.02.2004, 14:32

andere Frage:

haben die durchsichtigen Klötzchen die bei jedem Block noch dabei sind einen Sinn? (die eine andere Spiegelung des gleichen Blocks darstellen) Bei meinem Bildschirm sieht man die nämlich (die Schatten) und das sieht sehr befremdlich aus. _alpha = 0 ist immer etwas problematisch, visible = false wäre besser. Soll ich das mitändern, oder geht das nicht?

----------------------------
Dimidium facti, qui coepit, habet.
----------------------------
Dimidium facti, qui coepit, habet.
FishEye#7
Benutzerbild von FishEye
Beiträge: 16
Registriert: Dec 2003

Themenautor/in

18.02.2004, 15:43

die durchsichtigen blöcke stellen eine referenz für die blockanordnung nach einer vollzogenen rotation dar. dies hat sich als nötig erwiesen, da die geänderten "sq"-mc property-werte nicht unmittelbar nach setzen des playheaders abrufbar sind. offenbar müsste flash das neue frame erst zeichnen, um dann erkennen zu können wo sich die neu-angeordneten "sq"-mcs befinden - doch dann wäre es bereits zu spät. deshalb muss bereits das gegenwärtige frame die neuen werte für die "sq"-mcs im nächsten frame bereithalten - in form der "ph"-mcs ("sq" = "square", "ph" = "phantom" *hihi*), die an entsprechender stelle im script angesprochen werden (bei onClipEvent(KeyDown) -> if (Key.isDown(Key.UP)) ).


aber wie gesagt: ich bitte sich auf das kernproblem zu beschränken.

das kernproblem ist: warum zeigt bei den block-mcs des letzten tetraminos blockmc.gotoAndPlay("fadeout") keine wirkung ?

es nutzt mir auch wenig, wenn mir jetzt jemand eine voll funktionsfähige aber mehr oder weniger umgekrempelte tetris-engine liefert. das wäre sicher lieb gemeint und so, aber dann hätte ich sie wahrscheinlich gleich woanders "klauen" können.

ich möchte vielmehr mit hilfe des erlernten und der eigenen kreativität eine eigene tetris-version bauen, die auf dem eigenen mist gewachsen ist. ja, es geht hier auch z.T. darum das rad neu zu erfinden. denn das ganze stellt für mich quasi ein studienobjekt dar, anhand dessen ich erkenntnisse gewinnen will. in der schule muss man ja auch den satz des pytagoras nachweisen, obgleich längst ein alter hut. ;)

soweit funktioniert ja auch alles, worum ich mich bereits gekümmert hab. nur an dieser einen stelle komme ich jetzt nicht weiter und ich weiß nicht wieso. und deshalb bitte ich eben, mir an dieser (und zunächst an keiner anderen) stelle weiterzuhelfen. :)




Geändert von FishEye am 18.02.04 um 15:55 Uhr
Nemo#8
Benutzerbild von Nemo
Beiträge: 2331
Wohnort: Austria
Registriert: Jan 2003

18.02.2004, 15:55

>>>
es nutzt mir auch wenig, wenn mir jetzt jemand eine voll funktionsfähige aber mehr oder weniger umgekrempelte tetris-engine liefert.
<<<´

Keine Sorge ich hab noch nicht viel geändert (nur stat Blöcke kleine runde Kugeln genommen, da die besser aussehen in der 3D Engine die ich jetzt gemacht habe. Auch fand ich es interessanter einen Snake Clone zu bauen, also hängen sich die Kugeln jetzt hintereinander wenn man kleine Äpfelchen frisst. Ansonsten ist alles beim alten)



[sorry aber ich komm im Moment nicht dazu, ich kann wirklich nicht sagen wie lange das noch dauert... :(]

----------------------------
Dimidium facti, qui coepit, habet.
----------------------------
Dimidium facti, qui coepit, habet.
FishEye#9
Benutzerbild von FishEye
Beiträge: 16
Registriert: Dec 2003

Themenautor/in

18.02.2004, 16:05

jedenfalls schon mal vielen dank für deine mühe, nemo.


aber fällt denn sonst niemandem etwas dazu ein ? mir scheint fast, ich hätte das hier lieber ins experten-forum posten sollen ^.^''




-=BoE=-#10
Benutzerbild von -=BoE=-
Beiträge: 144
Wohnort: B
Registriert: Nov 2003

18.02.2004, 19:27

hi fisheye

ich hab noch nicht rausgefunden warum, aber ich irgendwie funktioniert die gotoAndPlay() Function auf dem gerade bewegten Block des Tetrapacks nicht.
Ich hab getestet, und er geht erstaunlicherweise auch in den 2. Frame der Bricks, doch er stoppt bei den zuletzt bewegten.

Wenn du in den 2. Frame der [name]brick mcs noch ein play() einfügst, dan gehts.
Viel Spaß beim Ursache finden ;)

-=BoE=-
-=BoE=-
FishEye#11
Benutzerbild von FishEye
Beiträge: 16
Registriert: Dec 2003

Themenautor/in

18.02.2004, 20:20

Ja, das habe ich mittlerweile auch herausgefunden. Trotzdem danke, -=BoE=- !


Also, neue Frage: Weiß irgendjemand warum zur Hölle die Blöcke des Tetraminos eine Extraeinladung brauchen ?


Geändert von FishEye am 18.02.04 um 20:22 Uhr

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   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de