360° Sample gesucht
Übersicht

![]() |
scratschBetreff: 360° Sample gesucht |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Leute,
währe vielleicht jemand hier so nett mir ein kleines Smaple für eine 360° Steuerung + Schuss zu geben? Ich verzweifele ehrlich gesagt total daran -_- Kann ganz einfach gehalten sein - so das selbst ich es auch verstehe. Währe echt nett - Dankeschön! Mfg. scratsch |
||
![]() |
FreakForFreedom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du, ich will dir nichts ausreden oder sonst was, aber wenn du daran verzweifelst, solltest du lieber mit was Kleinerem anfangen. Sonst hast du am Ende zwar den gewünschten Code, wirst aber damit nicht viel anfangen können.
Fang leicht an, lerne das hinzu, was du wissen willst und dann kannst du deine spezifischen Fragen stellen, auf die wir gerne antworten werden. ![]() |
||
Mfg
F.F.F. "Try and ERROR!" |
![]() |
scratsch |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein das ist nicht unbedingt das Problem.
Nur das mit der 360° Steuerung habe ich irgendwie im erernen von BlitzMax ausgelassen ^^ Ich hab z.B. schon nen kleines Jump & Run geproggt und ein paar diverse kleine Ball Spiele. Nur weil ich neu im Board bin bedeutet das nicht das ich keine Erfahrung habe Währe echt supi wenn mir jemand ma nen Beispiel geben könnte! ![]() |
||
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auf Blitzbase.de oder der Robsite gabs mal "gta steuerung" oder auch hier im forum. Das ist was du suchst denke ich ![]() |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
scratsch |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich kann mit dem BlitzBasic Syntax leider nicht umgehen, ich habe das hier bewusst in BlitzMax gepostet!? Was soll ich machen? | ||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab mal was altes Rausgekramt. Es ist noch für BB und lausig gecodet, ist aus meiner Anfangszeit.
Code: [AUSKLAPPEN] Graphics 800,600,0,2
Global x#=400 Global y#=300 Global winkel#=0 Global speed#=2 Global linie_x2, linie_y2 Global mauswinkel Global autopilot Global automaxspeed=10 Global feuerdichte=3 Global feuer_length=25 Global feuer_winkel=20 ;Type für den Feuerstrahl----- Type Tline Field x, y Field zeit Field Length Field winkel End Type ;----------------------------- ;Zufall und Puffer------ SeedRnd MilliSecs(); | SetBuffer BackBuffer(); | ;----------------------- ;#########--Hauptschleife--#################################################################################### While Not KeyDown(1) ;Tasten abfragen----------------------- If KeyDown(203) Then winkel=winkel-4;Drehen If KeyDown(205) Then winkel=winkel+4;Drehen If KeyDown(200) Then speed=speed+0.1;Speed ändern If KeyDown(208) Then speed=speed-0.03;Speed ändern ;Tasten abfragen----------------------- ;Winkel korrigieren---------------------- If winkel>360 Then winkel=winkel-360 If winkel<0 Then winkel=360+winkel ;Winkel korrigieren---------------------- ;Feuerstreifen zeichnen----- If KeyDown(200) Then gas(x,y,winkel) EndIf ;Feuerstreifen zeichnen----- ;Feuerstreifen zeichnen----------------------------------------- For tmp.Tline = Each Tline Color 200,200,0 linie tmp\x, tmp\y, tmp\Length, tmp\winkel+90 Color 200,0,0 linie linie_x2, linie_y2, tmp\Length, tmp\winkel+90 tmp\zeit=tmp\zeit+1 If tmp\zeit=6 Then Delete tmp Next ;Feuerstreifen zeichnen----------------------------------------- ;Speed anpassen-------------------- If speed>0 Then speed=speed-0.03 If speed<0 Then speed=0 ;Speed anpassen-------------------- ;Schiff zeichnen------------ Color 255,255,255 rechteck x,y,10,30,winkel ;Schiff zeichnen------------ ;Schiffspositionen anpassen---- y=y+Sin(winkel-90)*speed x=x+Cos(winkel-90)*speed ;Schiffspositionen anpassen---- ;Abprallen an den Wänden---------- If x<10 Then winkel=360-winkel If x>790 Then winkel=360-winkel If y>590 Then winkel=180-winkel If y<10 Then winkel=180-winkel ;Abprallen an den Wänden---------- ;Autopilot bei Maustaste---------------------------------------------------------------------- autopilot=mousedown(1) If autopilot=1 Then ;Speed anpassen---------------- speed=speed+0.03 If speed<automaxspeed Then speed=speed+0.1 gas(x,y,winkel) EndIf ;Speed anpassen---------------- mauswinkel=ATan2(MouseX()-x,y-MouseY())+360;Winkel berechnen ;Winkel korrigieren--------------------------------- If mauswinkel>360 Then mauswinkel=mauswinkel-360 If mauswinkel<0 Then mauswinkel=360+mauswinkel ;Winkel korrigieren--------------------------------- ;Winkel anpassen--------------------------- If winkel>mauswinkel Then If Abs(winkel-mauswinkel)>180 Then winkel=winkel+4 Else winkel=winkel-4 EndIf EndIf If winkel<mauswinkel Then If Abs(winkel-mauswinkel)>180 Then winkel=winkel-4 Else winkel=winkel+4 EndIf EndIf ;Winkel anpassen--------------------------- EndIf ;Autopilot bei Maustaste---------------------------------------------------------------------- ;---Infos anzeigen Text 0,0,"Speed: "+speed Text 0,15,"X: "+x Text 0,30,"Y: "+y Text 0,45,"Winkel: "+winkel ;---Infos anzeigen ;---------------------- Flip;Puffer vertauschen Cls;Bildschirm löschen ;----------------------- Wend ;#########--Hauptschleife--#################################################################################### End;Beenden ;##################################---Funktionen---############################################################ Function Linie(linie_x1,linie_y1,linie_length, linie_winkel=0) linie_x2=cos(linie_winkel)*linie_length+linie_x1 linie_y2=sin(linie_winkel)*linie_length+linie_y1 Line linie_x1,linie_y1,linie_x2,linie_y2 End Function Function rechteck(rechteck_x,rechteck_y,rechteck_width,rechteck_height,rechteck_winkel#) rechteck_x1=-rechteck_width/2*Cos(rechteck_winkel)-(-rechteck_height/2)*Sin(rechteck_winkel)+rechteck_x rechteck_y1=-rechteck_width/2*Sin(rechteck_winkel)+(-rechteck_height/2)*Cos(rechteck_winkel)+rechteck_y rechteck_x2=+rechteck_width/2*Cos(rechteck_winkel)-(-rechteck_height/2)*Sin(rechteck_winkel)+rechteck_x rechteck_y2=+rechteck_width/2*Sin(rechteck_winkel)+(-rechteck_height/2)*Cos(rechteck_winkel)+rechteck_y rechteck_x3=+rechteck_width/2*Cos(rechteck_winkel)-(rechteck_height/2)*Sin(rechteck_winkel)+rechteck_x rechteck_y3=+rechteck_width/2*Sin(rechteck_winkel)+(rechteck_height/2)*Cos(rechteck_winkel)+rechteck_y rechteck_x4=-rechteck_width/2*Cos(rechteck_winkel)-(rechteck_height/2)*Sin(rechteck_winkel)+rechteck_x rechteck_y4=-rechteck_width/2*Sin(rechteck_winkel)+(rechteck_height/2)*Cos(rechteck_winkel)+rechteck_y Line rechteck_x1,rechteck_y1,rechteck_x2,rechteck_y2 Line rechteck_x2,rechteck_y2,rechteck_x3,rechteck_y3 Line rechteck_x4,rechteck_y4,rechteck_x3,rechteck_y3 Line rechteck_x4,rechteck_y4,rechteck_x1,rechteck_y1 End Function Function gas(gas_x,gas_y,gas_winkel) For tmp2=1 To feuerdichte tmp.Tline = New Tline tmp\x=gas_x tmp\y=gas_y tmp\Length=feuer_length+Rand(-5,5) tmp\zeit=0 tmp\winkel=gas_winkel+Rand(-feuer_winkel,feuer_winkel) Next End Function |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also es hat nichts mit BB oder BM Syntax zu tun, sondern es ist reine Mathematik und ich glaube nicht, dass Sinus und Cosinus in den beiden Sprachen 2 verschiedene Sachen machen.
Als einfaches Beispiel, ohne irgendwelchen Code zu verwenden: - mit dem Winkel richtest du den Spieler aus - auf Tastendruck erstellst du einen Schuss und übergibst diesen den Winkel des Spielers - mit Sinus und Cosinus bewegst du den Schuss um dessen Geschwindigkeit, bis er kollidiert oder aus dem Bildschirm fliegt |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich meine aber ATan2 wäre in BMax nun ganz anders ...
wofür Mark Silby Schläge verdient hat ... ![]() |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
http://www.chaos-interactive.de/tuts/winkel.html
Nicht viel Code, und bei dem ist ganz offensichtlich was geändert werden muss. (Draw vor Text, Line und Oval, Keycodes und den Graphicsbefehl anpassen) |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
beanage.johannes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] x = x + speed * cos(rotation) y = y + speed * sin(rotation) 'das ist erstmal das Laufen hoffe das klappt ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group