Hilfe bei Programm

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Bionical

Betreff: Hilfe bei Programm

BeitragSa, Jul 16, 2005 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hy!

Es gibt sicher schon viele Threads in denen dieses Thema behandeld wurde. Hab über Suche gesucht, aber fand nichts gutes.

Mal den Code:
BlitzBasic: [AUSKLAPPEN]

Graphics3D 1024,768,32,1

SetBuffer BackBuffer()

watert=LoadTexture(\"DATA/GFX/water.jpg\")
textbodengras=LoadTexture(\"DATA/GFX/text1.jpg\")
terrain1=LoadTerrain(\"DATA/GFX/map1.png\")
EntityTexture terrain1,textbodengras
ScaleEntity terrain1,50,700,50
ScaleTexture textbodengras,20,20
EntityType terrain1,2
EntityRadius terrain1,1


water=CreatePlane()
EntityTexture water,watert
ScaleTexture watert,100,100
MoveEntity water,0,140,0
EntityAlpha water,0.6

cam=CreateCamera()
MoveEntity cam,6000,900,1000
CameraFogMode cam,1
CameraRange cam,1,30000
CameraFogRange cam,1,10000
CameraFogColor cam,40,140,255
CameraClsColor cam,40,140,255
EntityType cam,1
EntityRadius cam,1

light=CreateLight()
TurnEntity light,45,45,0
WaitKey
While Not KeyHit(1)

RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0
MoveMouse 512,384
Collisions 1,2,2,2
MoveEntity cam,0,-4,0
If KeyDown(200) Then MoveEntity cam,0,0,5
If KeyDown(208) Then MoveEntity cam,0,0,-5



RenderWorld
UpdateWorld
Flip
Wend
End


In diesem Programm kann man mit der cam herumfliegen. Es gibt auch Kollision. Aber ich möchte nich das die cam ganz auf den Boden sinkt, also das man mit der cam über das terrain "geht". Wie mach ich das?

mfg
Bionical
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-
 

BlitzBasic303

Betreff: RE:

BeitragSa, Jul 16, 2005 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne ganz simple Methode wäre das du eine Kugel erstellt die du dann staht der camera bewegst. Nur bei Turnentity muss die camera um den gleichen winkel gedreht werden. Und dann in die hauptschleife eigentlich nur:
Code: [AUSKLAPPEN]

Positionentity camera,entityx(kugel),entityy(kugel)+10,Entityz(kugel)

Alfadur

BeitragSo, Jul 17, 2005 6:18
Antworten mit Zitat
Benutzer-Profile anzeigen
schau dir den befehl terrainy an ...

terrainy(terrain,x,y,z) liefert dir den ywert an einer stelle von nem terrain zurück... dazu noch was addiert und voila : alle sind glücklich...
A Cray is the only computer that runs an endless loop in less than four hours.

Bionical

BeitragSo, Jul 17, 2005 10:02
Antworten mit Zitat
Benutzer-Profile anzeigen
@BlitzBasic303
Ok, werd ich ausprobieren! Man könnte ja auch einen Mesh nehmen, oder?

@Alfadur
Werde ich auch probieren! Ich habe in der OH nachgesehen aber ich kann mit dem Beispiel wenig anfangen..... Es wäre schön wenn du mir eins postest!


mfg
Bionical
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-

Alfadur

BeitragSo, Jul 17, 2005 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
was gibts an dem beispielprogramm nicht zu verstehen? wie ich schon sagte, die x y und z koordinate von einem objekt werden zusammen mit dem terrain das überprüft werden soll an terrainy übergeben und terrainy liefert dann die y koordinate von dem terrain an der stelle x/y/z...die muß dann als neue y koordinate zugewiesen werden...
A Cray is the only computer that runs an endless loop in less than four hours.

Bionical

BeitragSo, Jul 17, 2005 14:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist schon OK. Ich habe eine Lösung gefunden! Jedoch habe ich jetzt ein neues Problem! In dem Code kommt beim ausführen immer die Meldung:
function hp not found
Ich habe schon alles mögliche probiert komm aber nicht drauf!
Der code ist ein bisschen primitiv: Embarassed
BlitzBasic: [AUSKLAPPEN]

DASspiel=StartNetGame()

name$=Input(\"Dein Nickname: \")
spieler = CreateNetPlayer(name$)




Graphics3D 1024,768,32,1

SetBuffer BackBuffer()

AppTitle \"DR - Death-Robo\"

crash=LoadSound(\"DATA/SFX/crash.wav\")

player=LoadAnimMesh(\"DATA/GFX/player.3ds\")
MoveEntity player,6000,20,1000
TurnEntity player,-90,0,0
ScaleEntity player,10,10,10
EntityType player,3
EntityRadius player,3

schneider=LoadMesh(\"DATA/GFX/schneider.3ds\")
MoveEntity schneider,6030,250,1000


textbodengras=LoadTexture(\"DATA/GFX/text1.jpg\")
terrain1=LoadTerrain(\"DATA/GFX/map1.png\")
EntityTexture terrain1,textbodengras
ScaleEntity terrain1,50,700,50
ScaleTexture textbodengras,18,18
EntityType terrain1,2
EntityRadius terrain1,1

cam=CreateCamera()
MoveEntity cam,6000,250,1000
CameraFogMode cam,1
CameraRange cam,1,30000
CameraFogRange cam,1,10000
CameraFogColor cam,40,140,255
CameraClsColor cam,40,140,255
EntityType cam,1
EntityRadius cam,1


light=CreateLight()
TurnEntity light,45,45,0

WaitKey


Repeat


hp = 100

schneiderschaden = Rnd(20)

Text 0,0, \"Deine Gesundheit: \"+hp

MoveMouse 512,384
Collisions 3,2,2,2
Collisions 1,2,2,2
If KeyDown(200) Then MoveEntity cam,0,0,5
If KeyDown(208) Then MoveEntity cam,0,0,-5
If KeyDown(205) Then MoveEntity cam,5,0,0
If KeyDown(203) Then MoveEntity cam,-5,0,0
If KeyDown(200) Then MoveEntity player,0,-5,0
If KeyDown(208) Then MoveEntity player,0,5,0
If KeyDown(205) Then MoveEntity player,5,0,0
If KeyDown(203) Then MoveEntity player,-5,0,0
If KeyDown(30) Then TurnEntity cam,0,3,0
If KeyDown(32) Then TurnEntity cam,0,-3,0
If KeyDown(30) Then TurnEntity player,0,0,-3
If KeyDown(32) Then TurnEntity player,0,0,3

If EntityCollided(player,player) Then PlaySound crash
If MouseDown(1)
If EntityCollided(schneider,player) Then hp-schneiderschaden
EndIf

If KeyHit(1) Then End
Forever
RenderWorld
UpdateWorld
Flip
StopNetGame
End


Bitte brauche Hilfe

mfg
Bionical
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-

Alfadur

BeitragSo, Jul 17, 2005 14:45
Antworten mit Zitat
Benutzer-Profile anzeigen
normalerweise spuckt der compiler auch immernoch die zeile aus in der der fehler ist ... ich tippe mal auf diese

If EntityCollided(schneider,player) Then hp-schneiderschaden

wenn du dir die zeile anschaust wirst du merken ... es ist blödsinn. was soll es machen?
A Cray is the only computer that runs an endless loop in less than four hours.

Bionical

BeitragSo, Jul 17, 2005 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Es sollte von den hp den schaden der waffe abziehen.
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-

Alfadur

BeitragSo, Jul 17, 2005 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, das weiß ich ....

aber wie sieht eine zuweisung normalerweise aus? was steht rechts, was steht links und vorallem : muß da nicht auch was in die mitte?

x=y?
A Cray is the only computer that runs an endless loop in less than four hours.

Bionical

BeitragSo, Jul 17, 2005 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Was meinst du?
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-

Alfadur

BeitragSo, Jul 17, 2005 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
argl, willst du es nicht sehen oder kannst du es nicht sehen??
ich werds dir nicht sagen, weil du selber nachdenken sollst, aber hier noch ein kleiner tipp....oben schreibst du

hp=100

unten machst du dann

hp-schneiderschaden

.... fällt dir da nicht ein kleiner unterschied auf?

oben das ist korrekt, unten das ist nicht korrekt. warum nicht? was braucht eine zuweisung? denk mal drüber nach ...
A Cray is the only computer that runs an endless loop in less than four hours.

Bionical

BeitragSo, Jul 17, 2005 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinst du damit ich sollte Global schreiben, oder meinst du das ich 100-schneiderschaden schreiben soll?

Du musst verstehen das ich ein voller newbie bin......
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-

Alfadur

BeitragSo, Jul 17, 2005 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
du solltest dir variablen und variablenzuweisungen anschauen .... so eine zuweisung, die du ja schon des öfteren gemacht hast, bestehst aus genau einer variable auf der linken seite, danach kommt ein istgleichzeichen (=) und dann kommt der ausdruck der zugewiesen werden soll ... wenn du hp jetzt die 100 zuweist, machst du

hp = 100
^ ^ ^
variable istgleich wert

wenn du hp jetzt nen anderen wert zuweisen willst, zb hp-schneiderschaden, was mußt du dann machen!??
A Cray is the only computer that runs an endless loop in less than four hours.

Bionical

BeitragSo, Jul 17, 2005 15:15
Antworten mit Zitat
Benutzer-Profile anzeigen
schneiderschaden einen Wert zuweisen und dann abziehen
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-

Alfadur

BeitragSo, Jul 17, 2005 15:19
Antworten mit Zitat
Benutzer-Profile anzeigen
argl, mann, das ist doch keine quantenphysik, was ist daran so schwer?

hp=hp-schneiderschaden

variable istgleich neuer wert... das hab ich versucht dir die ganze zeit zu sagen, aber ... irgendwie hast du es ja geschafft dich beharlich zu weigern die info zu dir durchdringen zu lassen... merks dir einfach...

achja, es wird trotzdem nicht funktionieren. du hast noch nen fehler im programm, ist aber semantischer natur ...

und außerdem hast du noch ungefähr fünfunddrölfzig andere fehler... aber die suchst du mal schön selber ....
A Cray is the only computer that runs an endless loop in less than four hours.

Bionical

BeitragSo, Jul 17, 2005 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke. Das wollte ich wissen, die anderen Fehler such ich mir selber raus!
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group