Bild zur Maus

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mk

Betreff: Bild zur Maus

BeitragSo, Dez 12, 2004 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich möchte, das ein Bild sich in die richtung vom Mauszeiger bewegt,
wie kriege ich das hin?
Pentium 4 2,6 GHz | 256 MB RAM | 120 GB Festplatte | DVD-ROM Laufwerk (48 Fach) |


I am a noob Smile

www.marcelkroener.de.vu

Mein Arcor Webspace =)

joe

BeitragSo, Dez 12, 2004 11:53
Antworten mit Zitat
Benutzer-Profile anzeigen
du malst das bild an den mauskoordinaten




BlitzBasic: [AUSKLAPPEN]

x= MouseX()
y= MouseY()

DrawImage bild,x,y

mk

BeitragSo, Dez 12, 2004 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich meine nicht auf dem Mauszeiger sondern hinter dem Mauszeiger her.
In meinem Programm soll ein Männchen hinter dem Mauszeiger herlaufen.
Pentium 4 2,6 GHz | 256 MB RAM | 120 GB Festplatte | DVD-ROM Laufwerk (48 Fach) |


I am a noob Smile

www.marcelkroener.de.vu

Mein Arcor Webspace =)
 

noir

BeitragSo, Dez 12, 2004 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
komm versuch es ma alleine

nur ein tipp:

du hast die position vom bild und von der maus.
jetzt musst du einfach schritt für schritt die position des bildes der maus annähern.
wenn du ganz exakte flugbahn haben willst muss du mit sin, cos arbeiten...
aber einfache kooridiantenveränderung tuts auch.

so jetzt such ma im forum da gab es schon mehrer solche fragen

oder benutz deine kreativität

joe

BeitragSo, Dez 12, 2004 12:22
Antworten mit Zitat
Benutzer-Profile anzeigen
das geht auch mit der methode

BlitzBasic: [AUSKLAPPEN]


x= MouseX()
y= MouseY()

DrawImage bild,x+20,y+20




wenn du in 2d arbeitest musst du dir jetzt noch eine colli scripten,
damit dein player an gebäuden und anderen gegenständen vorbei läuft.
 

noir

BeitragSo, Dez 12, 2004 12:24
Antworten mit Zitat
Benutzer-Profile anzeigen
joe ich glaube das meint er nicht!

er will wenn das bild z.b links unten ist und der mauszeiger in der mitte, dass das bild dann in richtung mauszeiger fährt usw.
was du gemacht hast is einfach sozusagen ein fester 2. mauscursor.

mk

BeitragSo, Dez 12, 2004 12:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Geht das vielleicht mit for und Next?
Pentium 4 2,6 GHz | 256 MB RAM | 120 GB Festplatte | DVD-ROM Laufwerk (48 Fach) |


I am a noob Smile

www.marcelkroener.de.vu

Mein Arcor Webspace =)
 

noir

BeitragSo, Dez 12, 2004 12:32
Antworten mit Zitat
Benutzer-Profile anzeigen
ging, aber dann würde das bild sich am stück dort hin bewegen, während diese schleifendurchlaufes.

d.h. das bild würde dann schnell zum mauszeiger fahren, aber das restprogramm wäre in dieser zeit ja still bewegt. und du willst ja sicher das du z.b den mauszeiger weiterbewegen kannst.

mk

BeitragSo, Dez 12, 2004 12:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, genau.
Pentium 4 2,6 GHz | 256 MB RAM | 120 GB Festplatte | DVD-ROM Laufwerk (48 Fach) |


I am a noob Smile

www.marcelkroener.de.vu

Mein Arcor Webspace =)
 

noir

BeitragSo, Dez 12, 2004 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ok dann helf ich dir.... aber ich hoffe du kommst wirklich nicht weiter und bist nicht nur zufaul selber zu denken:

BlitzBasic: [AUSKLAPPEN]

;hier ein einfaches beispiel für anspruchvolleres musst
;du den winkel zwischen den beiden objekten berechnen und
;dann mit sin cos arbeiten etc. schau im forum, da gibts
;wirklich schon viele themen darüber..


Graphics 640,480,0,2
SetBuffer BackBuffer()


posx = 10
posy = 10


Repeat
x = MouseX()
y = MouseY()

Color 255,0,0

If x > posx Then posx = posx + 1
If x < posx Then posx = posx - 1

If y > posy Then posy = posy + 1
If y < posy Then posy = posy - 1

Rect posx,posy,5,5


Flip
Until KeyHit(1)



du musst halt rect durch dein bild tauschen

mk

BeitragSo, Dez 12, 2004 13:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier, mein Quelltext, vielleicht kann mir dann jemand helfen.
Ich habe wirklich keine idee wie das gehen soll.


    Mongo=kleines Männchen am Mauszeiger
    Sensor=Sensor mit grüner Lampe
    sensoran=Sensor mit roter Lampe
    soldat=Soll kommen wenn der Mongo den Sensor berührt


Der Mongo soll am Mauszeiger sein, sobald er den Sensor berührt, dann wird die Lampe am Sensor rot, und dann soll ein Soldat kommen, und in die richtung vom Mongo laufen. (Während der Soldat kommt, soll man den Mongo nicht bewegen können.)
Wenn der Soldat den Mongo berührt, soll auf dem Bildschirm der Text "Der Mongo wurde gefasst" stehen. Nach 5 Sekunden ist das Programm dann zuende.

Code: [AUSKLAPPEN]

Graphics 800,600,16,1



sensor=LoadImage("data\sensor.bmp")
sensoran=LoadImage("data\sensoran.bmp")
mongo=LoadImage("data\mongo.bmp")
soldat=LoadImage ("data\soldat.bmp")

MaskImage sensor,255,0,255
MaskImage sensoran,255,0,255
MaskImage mongo,255,0,255
MaskImage soldat,255,0,255

While Not KeyHit(1)
mxplus=mx-100
myplus=my-100
mx=MouseX()
my=MouseY()
DrawImage sensor,700,500
DrawImage mongo,mx,my

Wert=ImagesCollide (mongo, mx, my, 0, sensor, 700, 500, 0)
If wert Then DrawImage sensoran,700,500
If wert=1 Then wplus=+1
If wplus > 0 Then DrawImage sensoran,700,500




Delay 5
Cls

Wend
Pentium 4 2,6 GHz | 256 MB RAM | 120 GB Festplatte | DVD-ROM Laufwerk (48 Fach) |


I am a noob Smile

www.marcelkroener.de.vu

Mein Arcor Webspace =)
 

noir

BeitragSo, Dez 12, 2004 13:11
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo, du hast doch mein beispiel, wo ist da jetzt noch das problem?
sollen wir dir das spiel ganz fertig schreiben????????

du muss noch ne if abfrage einbauen, das war es dann eigentlich schon

mk

BeitragSo, Dez 12, 2004 13:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Toll, jetzt klappt es.
Shocked
Pentium 4 2,6 GHz | 256 MB RAM | 120 GB Festplatte | DVD-ROM Laufwerk (48 Fach) |


I am a noob Smile

www.marcelkroener.de.vu

Mein Arcor Webspace =)
 

noir

BeitragSo, Dez 12, 2004 13:18
Antworten mit Zitat
Benutzer-Profile anzeigen
gut!

na is dein selbstwertgefühl jetzt um 300% gestiegen *g

Hubsi

BeitragSo, Dez 12, 2004 13:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Noch zwei Tipps am Rande:

Das hier:
BlitzBasic: [AUSKLAPPEN]
Wert=ImagesCollide (mongo, mx, my, 0, sensor, 700, 500, 0)
If wert Then DrawImage sensoran,700,500
If wert=1 Then wplus=+1
If wplus > 0 Then DrawImage sensoran,700,500
ist Quatsch. Schneller, kürzer und speicherschonender:BlitzBasic: [AUSKLAPPEN]
While Not KeyHit(1)
mx=MouseX()
my=MouseY()
DrawImage mongo,mx,my

If ImagesCollide (mongo, mx, my, 0, sensor, 700, 500, 0)
DrawImage sensoran,700,500
Else
DrawImage sensor,700,500
EndIf



Flip
Cls

Wend
Das Delay habe ich durch Flip ersetzt, wenn Du auf allen Rechnern exakt die gleiche Geschwindigkeit haben willst, empfiehlt sich frameunabhängiges programmieren und ein Flip 0. Aber das ist wohl für Dich noch nicht zu empfehlen Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group