cs2d Steuerung - Figur verhält sich seltsam
Übersicht

Bei_den_HohlbeinsBetreff: cs2d Steuerung - Figur verhält sich seltsam |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi Leutz,
ich bin dabei eine cs2d Steuerung zu proggen. Ich habs schon hingekriegt ein Bild mit der Maus zu drehen und mit den Pfeiltasten zu steuern (in 4 Richtungen). Mein Problem ist jedoch, das sich die Figur leider nicht immer richtig drehen lässt oder sich dreht, wenn sie sich gar nicht drehen soll. Letzteres geschieht immer dann, wenn ich das Bild, während sich der Cursor sich zwischen Rand und Bild befindet, auf den Rand zubewege. Am besten schaut ihr euch es selber an: Mein Code Code: [AUSKLAPPEN] Graphics 1024,768,16,2
SetBuffer BackBuffer() HidePointer Cls TFormFilter 1 crusor = LoadImage("crusor.bmp") bground = LoadImage("unbenannt.bmp") sp = LoadImage("stehend12.bmp") MaskImage sp,255,0,0 MaskImage crusor,255,0,0 MidHandle crusor ;---------Variablen---------- richtung=1 x=512 y=384 mx=0 ;Variablen die die Maus beeinflussen sollen my=0 ;-----------Kuruno´s Drehung wird erstellt-------- Dim char(359) For i = 0 To 359 char(i)=CopyImage(sp) MidHandle char(i) RotateImage char(i),i MaskImage char(i),255,0,0 Next SetBuffer BackBuffer() ;----------Hauptschleife---------------- Repeat ;-----------STEUERUNG----------- ;---------------Rechts----------- If KeyDown(205) Then richtung = 1 x=x+10 mx=mx+10 EndIf ;-------------Links-------------- If KeyDown(203) Then richtung=1 x=x-10 mx=mx-10 EndIf ;-------------Oben------------------- If KeyDown(200) Then richtung=1 y=y-10 my=my-10 EndIf ;-------------Unten--------------- If KeyDown(208) Then richtung=1 y=y+10 my=my+10 EndIf DrawImage bground,0,60 DrawImage char((ATan2(MouseY()-y,MouseX()-x)+359)Mod 359),x,y DrawImage crusor,MouseX()+mx,MouseY()+my Flip Cls Until KeyHit(1) End Ich weiß, der Code ist nicht schön, trotzdem bitte keine ![]() |
||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
warum packst du zu mousex() noch mx dazu???
ich glaube, dein problem ist, das der cursor in wirklihkeit an einer anderen position ist, als du ihn malst... |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
Bei_den_Hohlbeins |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Goodjee hat Folgendes geschrieben: warum packst du zu mousex() noch mx dazu???
ich glaube, dein problem ist, das der cursor in wirklihkeit an einer anderen position ist, als du ihn malst... Zu deiner Frage: Es ist komfortabler für den Spieler, wenn die Maus beim Bewegen der Spielfigur automatisch folgt. Danke Goodjee, du hast mich auf die richtige Fährte gebracht. 1. Selbst mit Hidepointer: Die Figur folgt der Maus, nicht dem Bild 2.Der Grund wegen dem Drehen am Rand: Die Maus kann den Bildschirm nicht verlassen, das Bild aber schon, das Bild dreht sich automatisch zur Maus hin. Folgende Lösungsmöglichkeiten habe ich: 1.das Bild soll nun nur noch dem Bild des Cursors folgen, nicht der Maus selbst. 2.Bei der Maus kann man Koordinaten manipulieren (automatisch). Ich würde lieber die 2. machen. *malebeninderOHnachschau* Yeahihahahaha, Blitz kann wirklich alles. mit ql:MoveMouse müsste es klappen. Ok, habs jetzt gelöst. |
||
Bei_den_HohlbeinsBetreff: Laden |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab noch ne Frage: Warum ist cs2d so schnell mit dem Laden und bei mir dauerts so lange (rotateimage is Schuld). Muss ich rotateimage verwenden? | ||
![]() |
Thorsten |
![]() Antworten mit Zitat ![]() |
---|---|---|
du könntest auch auf einer 3d welt aufbauen und dann sprites benutzen
cya, BlindGuy |
||
Bei_den_Hohlbeins |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Aber doch nicht mir blitz 2d oder? | ||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
natürlich nicht...aber cs2d benutzt ja auch b3d | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
Bei_den_Hohlbeins |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Goodjee hat Folgendes geschrieben: natürlich nicht...aber cs2d benutzt ja auch b3d
Da hast du Recht. Naja, mir wurde jetzt ein kleines Programm erstellt, mit dem ich Bilder, die ich mit Rotateimage drehe, speichern kann. So hab ich dann in 35s, 360 Bilder gespeichert, welche wesentlich schneller wieder hochgeladen werden können, da sie kein Rotateimage benötigen. |
||
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
360bilder????
360 mal (sagen wir mal 16KB) 16KB = 5760KB = 5,7mb mach mal 8spielfiguren wie bei CS, dann haste 45mb! Dann lieber berechnen und in 2er steps (180 bilder also, fällt nicht auf) |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
Bei_den_Hohlbeins |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich will es halt mit b2d probieren und hab keine Ahnung wie ich es sonst machen soll. Mit 180 Bildern funktioniert Code: [AUSKLAPPEN] DrawImage bild((ATan2(MouseY()-240,MouseX()-320)+359)Mod 359),320,240
aber icht mehr. Und ich sag mal 45 MB auf 1024 MB Arbeitsspeicher ist doch nicht viel oder? Außerdem macht es keinen Unterschied ob ich die erst speichere und dann hochlade oder im Programm noch herstelle. Es bleibt bei 45 MB. Nur ist das 1. schneller.
|
||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] DrawImage bild((ATan2(MouseY()-240,MouseX()-320)+359)Mod 359)/2,320,240
|
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
Bei_den_Hohlbeins |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke Goodjee, ich komm halt nicht auf solche Lösungen, da ich noch ein n00b bin (dies ist mein 1. Grafikprojekt) und denn Code (also das Atan-Gedöns da) nicht wirklich verstehe. | ||
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke 32 bis 64 Bilder reichen auch aus. | ||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich nehme immer 72, sprich geteilt durch 5 | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group