Tastenabfrage in einem bestimmten Bereich

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mas93

Betreff: Tastenabfrage in einem bestimmten Bereich

BeitragSa, Jul 29, 2006 17:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie kann Ich machenn,dass wenn ich in einem bestimmten Bereich in meiner 2dwelt mit steheund dann z.b die leertaste drücke,dass dann z.b auf dem Bildschirm steht HI?!

Smokie

BeitragSa, Jul 29, 2006 17:51
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,

solltest du eigendlich alleine draufkommen..
Code: [AUSKLAPPEN]

;genau Position abfragen
if x=bereich_x and y = bereich_y and keydown(57) then

        Text 500,500,"Hi!"

endif

;oder.. Einen Bereich abfragen

if x > bereich_x and x < bereich_x + bereich_x_breite and y > bereich_y and y < bereich_y_hoehe and keydown(57) then

            Text 500,500,"Hi!"

endif






Grüße
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer.
Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört
Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet

mas93

BeitragSa, Jul 29, 2006 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
danke aber wo muss ich jetzt die koordinaten vom Anfang und ende des Bereiches eingeben?

Smokie

BeitragSa, Jul 29, 2006 18:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Also,

x ist die X-Koordinate deines zu prüfenden Objektes z.B. der Held im Spiel
y ist die Y-Koordinate deines zu prüfenden Objektes

bereich_x ist die X-Position, die dein Held haben muss, damit ein Teil der Bedingung erfüllt wird.
bereich_y das selbe nur für die Y-Position

für das 2 Beispiel:

bereich_x_breite ist wie breit die Flaeche ist, in der die Bedingung erfüllt wird
das selbe für bereich_y_hoehe nur für die hoehe.

Jetzt stell dir vor du machst ein Rechteck in BB.
Code: [AUSKLAPPEN]

rect bereich_x,bereich_y,bereich_x_breite,bereich_y_hoehe,1

Jeder Pixel innherhalb des Rechteckes ist jetzt weiß. Die weiße Flaeche sind dann die Punkte bei der die Bedingung erfüllt ist.

Folgendes heißt so:
Code: [AUSKLAPPEN]

if x > bereich_x and x < bereich_x + bereich_x_breite and y > bereich_y and y < bereich_y_hoehe and keydown(57) then

            Text 500,500,"Hi!"

endif


Wenn der Held weiter rechts der linken linie zu prüfenden Rechteckes ist und dabei noch weiter links als die rechten linie ist und er weiter unten als
die obere linie der oberen linie und weiter oben als die untere Linie ist und dabei die Space Taste gedrückt ist dann sag Hallo.

Man muss mit den Werten ein wenig herumspielen.

Grüße
Edit.: Ich merk ich komm grad weit von deiner eigendlichen Frage ab^^.
x, bereich_x, y, etc. sind variablen für die du die oben genannten Werte eintragen kannst.
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer.
Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört
Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet

SpionAtom

BeitragSa, Jul 29, 2006 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube für dein Vorhaben brauchst erstmal eine Levelstruktur. Du musst dir Gedanken machen, wie du dein Level speicherst. Es wäre mühsam für jeden bestimmten Bereich eine Aktion zu haben (zb "hi" sagen) und das mit individuellen If-Abfragen zu prüfen.
Benutze zb eine Tile-basierte Karte, dann setzt sich die Karte aus einzelnen Quadraten zusammen (wie zb bei Age Of Empires). Dann kannst du jedem Quadrat einen oder auch mehrere Werte zuweisen. So könnte eine "1" für die Aktion Begrüßung stehen....
Ja dieses Thema ist schon recht komplex für einen Neuling, aber lass dich nicht entmutigen Cool
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
 

Kayn

BeitragSa, Jul 29, 2006 22:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier mal ein Beispiel wie du das ganze z.B. mit der Maus machst:

x = MouseX ()
y = MouseY ()

If x >= 20 and x <= 40 and y >=80 and y <= 120 then
Text 0,30, "Und hier bin ich!"
endif

BladeRunner

Moderator

BeitragSa, Jul 29, 2006 22:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Beantworte mir eine Frage: was ist eine Variable ?
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
 

Kayn

BeitragSa, Jul 29, 2006 22:49
Antworten mit Zitat
Benutzer-Profile anzeigen
wie jetzt... wie wo was?

BladeRunner

Moderator

BeitragSa, Jul 29, 2006 23:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mas gefragt weil ich glaube dass er es nicht wirklich weiss.
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

Smokie

BeitragSo, Jul 30, 2006 12:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn er das net weiß, empfehle ich ihm, ein paar Tutorials zu BB zu lesen.
BB-Forum
Robsite

und
www.google.de
www.wikipedia.de


Grüße
Smokie[/url]
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer.
Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört
Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group