Hauptmenü

Neuigkeiten:

Bitte unterstützt uns und bestellt über diese Links bei Amazon  oder HumbleBumble!

Wie setzt man Puzzle-Rätsel technisch am besten auf?

Begonnen von 1mal_volltanken, 04. März 2010, 11:10:31

Vorheriges Thema - Nächstes Thema

1mal_volltanken

Hallo Leutz!

Wollt mal fragen, wie Ihr das technisch umsetzen würdet, wenn Ihr solche Puzzle-Rätsel macht (wo man bspw. die Einzelteile eines Bildes richtig zusammensetzen muss), so dass man auf ner Fläche die Einzelteile überall hinlegen kann und auch drehen und wenden kann. Eben im Stil wie Black Mirror.
Die Möglichkeit, dies mit der simplen ObjectOn/ObjectOff-Methode scheidet ja wohl aus, weil man ja erstens nur eine begrenzte Anzahl von Objekten hat und zum anderen es ja schon von Arbeitsaufwand gar nicht umsetzbar ist.

Vielleicht hat sich ja jemand von Euch schon mal an so etwas versucht.


BG
der Volltanker

"Tage sind eigentlich wie Nächte...nur nicht ganz so spät!"...hörte ich einmal einen sehr klugen, alten Mann beim Erdnüsse sortieren in der Kneipe sagen, kurz bevor er vom Hocker rutschte.


"Nicht jeder, der aus dem Rahmen fällt, war vorher im Bilde!"

Bòógieman

#1
(ich hab black mirror nie gespielt, darum kann ich jetzt nicht garantieren dass sich meine lösung mit diesem spiel deckt ;) )

mach soviele objekte wie es teile gibt und ordne sie rastermäßig an
mach für jeden teil ein inventar objekt (oder ein objekt im spielbereich)
mach mit hotspots den raster über den objekten
die einzelteile importierst du als sprite

macht der user "benutze puzzle-teil mit hotspot", setzt du dann das bild des darunter liegenden objekts auf das gewünschte sprite

bei jeder änderung eines objekts musst du dann nur noch überprüfen, ob die einzelnen objekte das richtige sprite haben


sind die puzzleteile nicht gleich groß, musst du die objekte+hotspots einfach entsprechend anordnen
und gegebenenfalls mit den X Y eigenschaften beim setzen des sprites verschieben

wenn du drehen willst, brauchst du ein eigenes sprite für jede mögliche ausrichtung des teils
macht der spieler "drehe teil", tauscht du hier einfach das sprite aus (geht auch im inventar durch austauschen des inventory-item)




das ist halt nur ein leitfaden, programmieren darfst du es selber  ;)
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

Rocco


1mal_volltanken

Das ist ja schon mal ganz klasse. ;) Dann weiss ich ja, wo ich sowas finden kann. ;)


BG
der Volltanker
"Tage sind eigentlich wie Nächte...nur nicht ganz so spät!"...hörte ich einmal einen sehr klugen, alten Mann beim Erdnüsse sortieren in der Kneipe sagen, kurz bevor er vom Hocker rutschte.


"Nicht jeder, der aus dem Rahmen fällt, war vorher im Bilde!"

KhrisMUC

Noch ein bisschen Theorie:
Man kann sowas gänzlich ohne Objekte programmieren und ist auch nicht auf 90°-Drehungen festgelegt (Freies Drehen ist auch möglich, allerdings sieht man natürlich, wann ein Teil in Originialposition oder Vierteldrehungen weiter ist ;)).

Damit die Teile einrasten, legt man mittels eines structs bei jedem Teil Zielposition (und -winkel) fest und erlaubt dann beim Plazieren etwas Toleranz.
Aufwendiger wird es, wenn die Teile auch an benachbarten einrasten sollen, obwohl sie noch nicht am richtigen Platz sind.

Ich hab mir das Modul noch nicht angeschaut, es scheint aber recht aufwendig gemacht zu sein.

NsMn

Das Puzzle-Modul ist auf jedenfall zu empfehlen, ein sehr aufwändiges Script, besonders was die Hit-detection angeht. Außerdem ist es sehr leicht zu bedienen (Im Prinzip lässt sich ein ganzes Puzzle mit einer oder zwei Zeilen Code erstellen).