Bewegung im Point & Click Stil Frage?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

easycure

Betreff: Bewegung im Point & Click Stil Frage?

BeitragDi, Apr 26, 2005 15:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen.
Ich versuche mir die grundeigenschaften für die erstellung von point & click adventuren anzueignen.
ich weiß, ich weiß,.. dies ist ein schwereres feld und egentlich nichts für anfänger.
eigentlich bin ich aber schon relativ weit.....für nen anfang zumindest.

Also: ich habe animationen bewegungen sounds laden, abfragenusw. drauf
bestimmte bewegungen bei bestimmten tasten usw usw usw.

ich bekommen nur diese point & click steuerung nicht hin.
meine spielfigur habe ich mal timo genannt und mir aus den keydown() und keyhit() bewegungbefehlen mal folgendes ausgedacht für den gang nach rechts z.b.

if mousehit(1) then
repeat timo_x# = timo_x# + 1 until timo_x# = maus\x#(oder einfach mouseX()ist nur ne variable)

wenn ich das tue wird die spielfigur sofort an die stelle von maus\x# gezeichnet, sobald ich die maustaste drücke . wie schaffe ich es, dass der tuppes erst schritt für schritt eine stelle weiter geht bis er an der mausstelle ist?

ich wäre sehr dankbar, falls mir jemand helfen kann.

cu...easycure

Hubsi

BeitragDi, Apr 26, 2005 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Proble ist das Du die Bewegung in einer in sich geschlossenen Schleife ausführst. Du musst die Position der Maus speichern und jedem Hauptschleifendurchgang die Koordinaten von Timo auf diese gespeicherten Werte zubewegen Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

easycure

BeitragDi, Apr 26, 2005 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
danke, werds gleich mal ausprobieren.
ich hab ne idee wie ich das mache!
Wink
 

hitokiri

BeitragDi, Apr 26, 2005 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Nunja, kommt drauf an. Bei vielen älteren point&click adventures sieht es für mich so aus, dass das spiel "angehalten" wird bis sich der charakter am neuen punkt befindet. also zumindest bei solchen, z.b. Discworld 1, bei denen man sich nur an bestimmte punkte bewegen kann, also nur an solche orte an denen man dann auch eine handlung ausführen kann.
Falls er sowas machen will könnte er ja theoretisch einfach alles ausser dem charakter in ein neues image laden und dann bewegung eben als einzelne funktion in der der charakter immer eins weiter gezeichnet wird und einfach das image des hintergrunds davor reingeladen.
bzw je nach grösse der figuren nur den teil des hintergrunds, durch den charakter sich bewegt in ein image speichern, dann mit viewport halt in der bewegungsfunktion nur den teil jedesmal neu laden und den rest einfach unverändert so lassen.

hubsi's ist natürlich schöner Smile

aber wie gesagt, wenn bewegungen nur an vordefinierte "event" orte möglich ist ist obiges auch ne möglichkeit und man spart sich den ganzen bildschirm neu zu zeichnen

BladeRunner

Moderator

BeitragDi, Apr 26, 2005 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
wobei das einzeichnen des Schirms ja nit kompliziert ist. Deine Methode hört sich recht... ähh.. unausgegoren an.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

hitokiri

BeitragDi, Apr 26, 2005 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Nuja, sagte ja auch nur, dass es für mich bei manchen alten adventures eben so aussah, dass das spiel angehalten wurde. Ist natürlich nach "meiner" methode auch alles andere als dynamisch,macht nur sinn mit einer vorher festgelegten anzahl an orten. Zudem sagte ich, dass Hubsi's schöner ist, war lediglich eine feststellung, dass man es auch anders machen "kann" und speziell discworld 1 es wohl genauso gemacht hat.
 

easycure

BeitragDi, Apr 26, 2005 17:33
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, ok, ok.
anfänger ideen sind nicht immer gleich zündent.

wie speichere ich den die position der maus, dass sie der spieler nachher nachgehen kann.
darüber habe ich gerade lange nachgegrübelt.

meine natworten dauern immer was, da MEIN pc nicht dieser hier ist.


danke :?

BladeRunner

Moderator

BeitragDi, Apr 26, 2005 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ganz einfach: BlitzBasic: [AUSKLAPPEN]
mh = MouseHit(1) ;klick gespeichert
If mh Then ;wenn geklickt dann...
mx = MouseX() ;mousepos speichern
my = MouseY()
End If

cestca.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

easycure

BeitragDi, Apr 26, 2005 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
danke, ihr seit echt alle flott hier.

man man man

Laughing
 

easycure

BeitragDi, Apr 26, 2005 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
ich bin dann mal wieder ausprobieren

eigentlich war das logisch und simpel,na ja

manchmal kommt auf die einfachsten dinge nicht

8)
nochmals danke

Alfadur

BeitragDi, Apr 26, 2005 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
easy ...


BlitzBasic: [AUSKLAPPEN]

While Not KeyHit(1)

If MouseHit(1) Then
mausx=MouseX()
End If

If timox<mausx Then
timox=timox+1
Else
timox=timox-1
End If

Wend


mist, schon wieder zu langsam ...
A Cray is the only computer that runs an endless loop in less than four hours.
 

easycure

BeitragDi, Apr 26, 2005 18:40
Antworten mit Zitat
Benutzer-Profile anzeigen
danke alfadur

ist wirklich easy!

Cool, dann brauche ich jetzt "nur noch" den schwierigsten teil.
wie sich nach dialogen dinge ändern und so, werdet wohl bald wieder
von mir hören

danke für die rasche hilfe!

Laughing

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group