Cos() und Sin() Problem!

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2, 3, 4  Weiter

Neue Antwort erstellen

Hubsi

BeitragDo, Apr 08, 2004 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist ja auch klar. Wenn 0 unterschritten wird muß winkel wieder 359 zugewiesen werden und umgekehrt wenn er größer 359 ist wieder 0.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Blitzkrieg Bop

BeitragDo, Apr 08, 2004 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
ok und die letzte frage:
wenn das objekt ine inem bestimmten winkel steh (beispiel 30°)
dann soll das objekt, wenn wen nahc oben drückt in die richutng gehen, wie kannman das am besten darstellen?
~ Hey Ho Let's Go ~

Travis

BeitragDo, Apr 08, 2004 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
EDIT: Oh, ich sehe es wurde schon gelöst! Embarassed
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

Hubsi

BeitragDo, Apr 08, 2004 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
x = x - Cos(winkel)*geschwindigkeit
y = y - Sin(winkel)*geschwindigkeit
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Blitzkrieg Bop

BeitragDo, Apr 08, 2004 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
damit geht es nicht:

Code: [AUSKLAPPEN]


If KeyDown(hoch)
   y = y - Sin(winkel)*speed
   x = x - Cos(winkel)*speed
EndIf


~ Hey Ho Let's Go ~

Hubsi

BeitragDo, Apr 08, 2004 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann ich mir nicht vorstellen. Hast Du speed einen Wert größer 1 zugewiesen?
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Blitzkrieg Bop

BeitragDo, Apr 08, 2004 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
speed habe ich am anfanh mit 1 globalisiert

hier nochmal de code:(speed ist nun 2, geht dennoch nicht!)


Code: [AUSKLAPPEN]

Graphics 800,600,16,2
SetBuffer BackBuffer()


Global hoch=200,runter=208,links=203,rechts=205,x#=400,y#=400
Global speed = 2


Dim image(359)
image(0) = LoadImage("kanone.png")


For a  =1 To 359
 image(a) = CopyImage(image(0))
RotateImage(image(a),a)

Next



Repeat
Cls

DrawImage image(winkel),x,y

If KeyDown(rechts)
   winkel = winkel + speed
EndIf

If KeyDown(links)
   winkel = winkel - speed
EndIf

If KeyDown(hoch)
   x = x - Cos(winkel)*speed
   y = y - Sin(winkel)*speed
EndIf    

If KeyDown(runter)
   y = y + speed ;nur vorübergehen
EndIf    






Text 10,10,"Aktueller Winkel:"+winkel

;wenn winkel < 0 winkel = 359 und umgekehrt:
If winkel < 0 winkel = 359
If winkel > 359 winkel = 0

Flip
Forever    
   


 
~ Hey Ho Let's Go ~

Hubsi

BeitragDo, Apr 08, 2004 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Funktioniert bei mir einwandfrei?
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Blitzkrieg Bop

BeitragDo, Apr 08, 2004 20:20
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, was hast du aks bild genommen?`also, nehme mal am besten ein auto oder sowas , was mit dem vorderteil am anfang nach oben guckt! dann wirst du es sehen ! sobald man dann z.b hoch drückt, geht das ding auf der x achse nach links
~ Hey Ho Let's Go ~

Hubsi

BeitragDo, Apr 08, 2004 20:23
Antworten mit Zitat
Benutzer-Profile anzeigen
So nicht:Code: [AUSKLAPPEN]
Graphics 800,600,16,2
SetBuffer BackBuffer()
Global hoch=200,runter=208,links=203,rechts=205,x#=400,y#=400
Global speed = 2
Dim image(359)
image(0) = LoadImage("kanone.png")
MidHandle image(0)
For a  =1 To 359
 image(a) = CopyImage(image(0))
 MidHandle image(a)
RotateImage(image(a),a)
Next

Repeat
Cls
DrawImage image(winkel),x,y
If KeyDown(rechts)
   winkel = winkel + 1
EndIf
If KeyDown(links)
   winkel = winkel - 1
EndIf
If KeyDown(hoch)
   x = x - Cos(winkel)*speed
   y = y - Sin(winkel)*speed
EndIf     
If KeyDown(runter)
   x = x + Cos(winkel)*speed
   y = y + Sin(winkel)*speed
EndIf     
If KeyHit(1) Exit
Text 10,10,"Aktueller Winkel:"+winkel
;wenn winkel < 0 winkel = 359 und umgekehrt:
If winkel < 0 winkel = 359
If winkel > 359 winkel = 0
Flip
Forever
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Blitzkrieg Bop

BeitragDo, Apr 08, 2004 20:25
Antworten mit Zitat
Benutzer-Profile anzeigen
was sollte der post? so wie du es diesmal gemacht hast, ist es falsch!
es geht nicht. soll ich mal grad code + bild hochladen?
~ Hey Ho Let's Go ~

Hubsi

BeitragDo, Apr 08, 2004 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Was soll daran nicht gehen? Ich hab jetzt extra noch schnell ein Dummybild gemacht ums zu testen. Es geht doch ganz hervorragend?
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Blitzkrieg Bop

BeitragDo, Apr 08, 2004 20:40
Antworten mit Zitat
Benutzer-Profile anzeigen
so, hier die url mit deinem zuletzt gepostetem code und dem bild.
zu dem bild: das soll nen auto sein, also das rot ist vorne!!!!1
[url]
http://web3.h5312.serverkompetenz.net/test.rar
[/url]
~ Hey Ho Let's Go ~

Hubsi

BeitragDo, Apr 08, 2004 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hin und wieder glaube ich Du siehst Dir die Befehle in den Beispielen gar nicht an Rolling Eyes

Code: [AUSKLAPPEN]
Graphics 800,600,16,2
SetBuffer BackBuffer()
Global hoch=200,runter=208,links=203,rechts=205,x#=400,y#=400
Global speed = 2
Dim image(359)
image(0) = LoadImage("kanone.png")
MidHandle image(0)
RotateImage image(0),270 ; Gedreht
For a  =1 To 359
 image(a) = CopyImage(image(0))
 MidHandle image(a)
RotateImage(image(a),a)
Next

Repeat
Cls
DrawImage image(winkel),x,y
If KeyDown(rechts)
   winkel = winkel + 1
EndIf
If KeyDown(links)
   winkel = winkel - 1
EndIf
If KeyDown(hoch)
   x = x - Cos(winkel)*speed
   y = y - Sin(winkel)*speed
EndIf     
If KeyDown(runter)
   x = x + Cos(winkel)*speed
   y = y + Sin(winkel)*speed
EndIf     
If KeyHit(1) Exit
Text 10,10,"Aktueller Winkel:"+winkel
;wenn winkel < 0 winkel = 359 und umgekehrt:
If winkel < 0 winkel = 359
If winkel > 359 winkel = 0
Flip
Forever
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Bigmichi

BeitragDo, Apr 08, 2004 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
sry falsches Teham XD
 

Blitzkrieg Bop

BeitragDo, Apr 08, 2004 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
hi!
ok, also nun stimmt das, aber nur mit dem kleinen trick, das zu drehen! geht das nicht anders, also so das der wagen nach oben guckt ma anfang?
~ Hey Ho Let's Go ~
 

Blitzkrieg Bop

BeitragDo, Apr 08, 2004 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, hab mein code aufgebssert, aber warum ruckelt das so in dne kurven?



Code: [AUSKLAPPEN]

Graphics 800,600,16,2
SetBuffer BackBuffer()


Global hoch=200,runter=208,links=203,rechts=205,x=400,y=400
Global speed = 2


Dim image(360)
image(0) = LoadImage("kanone.png")
MidHandle image(0)
RotateImage image(0),270 ; Gedreht
For a  =1 To 360
 image(a) = CopyImage(image(0))
 MidHandle image(a)
RotateImage(image(a),a)
Next



Repeat
Cls

DrawImage image(winkel),x,y

If KeyDown(rechts)
   winkel = winkel + 1
EndIf

If KeyDown(links)
   winkel = winkel - 1
EndIf

If KeyDown(hoch)
   x = x - Cos(winkel)*speed
   y = y - Sin(winkel)*speed
EndIf     
If KeyDown(runter)
   x = x + Cos(winkel)*speed
   y = y + Sin(winkel)*speed
EndIf


If KeyHit(1) Exit
Text 10,10,"Aktueller Winkel:"+winkel
;wenn winkel < 0 winkel = 359 und umgekehrt:
If winkel < 0 winkel = 360
If winkel > 360 winkel = 0

;damit das Objekt an einer anderen Seite rauskommt:
If x < - 21 ;links >> rechts
x = 810
EndIf 
If x > 810 ;rechts >> links
x = - 21
EndIf
If y > 610 ;unten >> oben
y = - 60
EndIf
If y < -60 ;oben >> unten
y = 610
EndIf

Flip
Forever

~ Hey Ho Let's Go ~

Hubsi

BeitragDo, Apr 08, 2004 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Irgendwie bild ich mir ein es ruckelt immer noch ein wenig, finde aber keinen Fehler.

Achtung editiert!
Code: [AUSKLAPPEN]
Graphics 800,600,16,2
SetBuffer BackBuffer()


Global hoch=200,runter=208,links=203,rechts=205,x#=400,y#=400 ; x und y => Float
Global speed# = 2 ; Zu Float gemacht
winkel=90

Dim image(359)
image(0) = LoadImage("kanone.PNG")
MidHandle image(0)
RotateImage image(0),270 ; Gedreht
For a  =1 To 359
 image(a) = CopyImage(image(0))
 MidHandle image(a)
RotateImage(image(a),a)
Next



Repeat
Cls

DrawImage image(winkel),x,y

If KeyDown(rechts)
   winkel = winkel + 1
EndIf

If KeyDown(links)
   winkel = winkel - 1
EndIf
;wenn winkel < 0 winkel = 359 und umgekehrt:
If winkel < 0 winkel = 359 ; ausgebessert
If winkel > 359 winkel = 0 ; ausgebessert

If KeyDown(hoch)
   x = x - Cos(winkel)*speed
   y = y - Sin(winkel)*speed
EndIf     
If KeyDown(runter)
   x = x + Cos(winkel)*speed
   y = y + Sin(winkel)*speed
EndIf


If KeyHit(1) Exit
Text 10,10,"Aktueller Winkel:"+winkel

;damit das Objekt an einer anderen Seite rauskommt:
If x < - 21 ;links >> rechts
x = 810
EndIf 
If x > 810 ;rechts >> links
x = - 21
EndIf
If y > 610 ;unten >> oben
y = - 60
EndIf
If y < -60 ;oben >> unten
y = 610
EndIf

Flip
Forever
End
Achtung editiert!
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
  • Zuletzt bearbeitet von Hubsi am Do, Apr 08, 2004 21:30, insgesamt 3-mal bearbeitet
 

Blitzkrieg Bop

BeitragDo, Apr 08, 2004 21:19
Antworten mit Zitat
Benutzer-Profile anzeigen
hast du in dem code oben nur x und y gefloatet?
hm, n bissle zuckelt das noch!!!
~ Hey Ho Let's Go ~

Hubsi

BeitragDo, Apr 08, 2004 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist alles kommentiert was ich geändert habe. Ich hab auch nochmal editiert, also den aktuellen Code benutzen!
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Gehe zu Seite Zurück  1, 2, 3, 4  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group