Schießen und Spiegel

Übersicht BlitzBasic Blitz3D

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Smokie

Betreff: Schießen und Spiegel

BeitragDi, März 15, 2005 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich habe 2 Probleme:
1. Ich habe eine Plane und die ist ein SPiegel
BlitzBasic: [AUSKLAPPEN]

mirror=CreateMirror(plane)

und da will ich dass nur das gespiegelt wird das über der plane ist weil wenn ich daruntergehe seh' ich mich trotzdem.
2. Ich hbae die Suchfunktion + zig Tuturials genutz aber nichts gefunden:
ich möchte einen Schuss machen in 3D(2D kann ich schon schießen). nun habe ich es so gemacht:
BlitzBasic: [AUSKLAPPEN]

If MouseHit(1) Then
schieß.schuss= New schuss
schieß\x = EntityX(flieger)
schieß\y = EntityY(flieger)
schieß\z = EntityZ(flieger)
EndIf
For schieß.schuss= Each schuss
schieß\z = schieß\z + 1
PositionEntity schus,schieß\x,schieß\y,schieß\z
Next

nun fliegt der Schuss immer in die selbe richtung aber ich will, dass er immer mit der Richtung der cam fliegt so das er immer nach vorne fliegt wie mache ich das?

Ich hoffe ihr könnt mir helfen und entschuldigung, wenn ich was übersehen habe.
Smokie
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer.
Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört
Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet

Lunatix

BeitragDi, März 15, 2005 18:23
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habs gleiche problem:

BlitzBasic: [AUSKLAPPEN]
Function createlaser()

a.laser=New laser
a\image=LoadSprite(\"laser.bmp\")
a\speed=2
a\pos_y=EntityX;hier ist der fehler
a\pos_z=EntityZ; weiss nur
a\pos_x=EntityY;nit was hinkommt
PositionEntity schus,schieß\x,schieß\y,schieß\z

End Function


Function schuss()
For a.laser= Each laser
If MouseHit(1) Then createlaser()
MoveEntity a\image,0,0,a\speed
Next
End Function

If MouseDown(1)
createlaser()
schuss()

EndIf



vielleicht hilfts ja und so nebenbei mir auch...
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

Darren

BeitragDi, März 15, 2005 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
ihr müsst die kugel auch in die richtige richtung drehen und dann nicht mit positionentity sondern mit moveentity bewegen und zwar um einen bestimmten abstand zb 1.
MFG Darren
 

Dreamora

BeitragDi, März 15, 2005 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
In beiden Fällen das gleiche Problem:

Ihr vergesst euren Schuss gleich auszurichten ( rotieren ) wie jenes Objekt das ihn abschiesst. Danach müsste es eigentlich stimmen Smile

Was den Spiegel betrifft:
Wenn du willst das er unterhalb des Spiegels net spiegelt, musst du deine Position überprüfen und wenn du unter dem Spiegel bist, einfach hideentity spiegel

und wenn du wieder über ihm bist, ihn einfach wieder anzeigen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Smokie

BeitragDi, März 15, 2005 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
ohhh ye das habe ich net verstanden das ich den mit moveimage bewegen muss schon nur das mit dem Spiegel net. Und ich weiß net woher die Kugel wissen soll wohin sie rotieren muss? Könnt ihr das Programm net so umschreiben wie ihr meint und ich schau wie ihr es gemacht habe so versteh ich es am besten.
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer.
Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört
Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet
  • Zuletzt bearbeitet von Smokie am Di, März 15, 2005 19:12, insgesamt einmal bearbeitet
 

Dreamora

BeitragDi, März 15, 2005 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
du musst die rotation der kugel einfach genau gleich machen wie die der Kamera.


Und wo ist das problem beim Spiegel? Sind ja nur zwei schritte:

1. Wenn Kamera unter wasser -> HideEntity Spiegel
2. Wenn Kamera über Wasser -> ShowEntity Spiegel
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Smokie

BeitragDi, März 15, 2005 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke es hat funktioniert eigendlich hätte ich selbst drauf kommen könne aber das wort hideentity war mir bis lange unbekannt Laughing Nur komischer weiße wenn ich schieße und gleich nochmal schieße ist der erste schuss weg
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer.
Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört
Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet

Lunatix

BeitragMi, März 16, 2005 10:50
Antworten mit Zitat
Benutzer-Profile anzeigen
ähh @smokie

kannst du mir das auch mal erklären?
ich hab das gestern auch drei stunden lang versucht aber es klappt nit

hier mein code
BlitzBasic: [AUSKLAPPEN]

Graphics3D 800,600,16,0

Type laser
Field speed
Field pos_x,pos_y,pos_z
Field rotate_x,rotate_y,rotate_z
Field image
End Type


terr=CreateTerrain(1024)
PositionEntity terr,10,10,10


entity=CreateCone()
PositionEntity entity,0,0,10
cam=CreateCamera()
PositionEntity cam,0,0,-10

Function createlaser()

a.laser=New laser
a\image=LoadSprite(\"laser2.bmp\")
a\speed=2
a\pos_y=EntityX
a\pos_z=EntityZ
a\pos_x=EntityY

a\rotate_z=EntityZ
a\rotate_x=EntityZ
a\rotate_y=EntityY

End Function


fuction schuss()
For a.laser= Each laser
If MouseHit(1) Then createlaser()
MoveEntity a\image,0,0,a\speed
RotateEntity a\image,rotate_y,rotate_x,rotate_z

Next
EndIf

While Not KeyDown(1)

If KeyDown(17) MoveEntity entity,0,0,2
If KeyDown(31) MoveEntity entity,0,0,-2
If KeyDown(30) TurnEntity entity,0,2,0
If KeyDown(32) TurnEntity entity,0,-2,0




If MouseDown(1)
createlaser()
schuss()

UpdateWorld
RenderWorld
Flip
Wend
End




kannst du mir schreiben was da falsch ist?
bitte beispiel braucht au nur der ausschnitt sein Laughing
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Seoman

BeitragMi, März 16, 2005 11:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Zum Schuss:

Du erstellst ja auch immer wieder den Schuss a.schuss und packst ihn wieder an die Camera-Position. Das muss also so kommen, wie du es beschrieben hast.

mfg
Seoman
In Australien...

Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig Wink

Lunatix

BeitragMi, März 16, 2005 12:01
Antworten mit Zitat
Benutzer-Profile anzeigen
HÄ??
kapier ich net
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

Gerhard

BeitragMi, März 16, 2005 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Seoman meint:
Wer nur einen Schuss hat, kann keine zwei Schüsse zeigen.

Du musst einen zweiten (dritten...) Schuss erstellen, während du den ersten noch weiterbewegst.

Seoman

BeitragMi, März 16, 2005 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Nochmal ausführlich:

Wenn du ein Type erstellst mit a.schuss = New Schuss
Und direkt danach nochmal a.schuss = New Schuss,
dann hast du ja immernoch nur einen Schuss (nämlich a.schuss)
Du musst zu der Variable a immer 1 dazuzählen, dann erstellst du mehrere Schüsse.

mfg
Seoman
In Australien...

Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig Wink
 

Gerhard

BeitragMi, März 16, 2005 21:59
Antworten mit Zitat
Benutzer-Profile anzeigen
EntityX von was?
Also beispielsweise entityX(flieger).

Während du Mousedown() drückst, fragst du gleichzeitig Mousehit() in der Schuss-Schleife(!) ab.

Mach Loadsprite am Programmanfang und kopiers dann nur noch.

@Seoman: Der schuss scheint mir ok.

Seoman

BeitragMi, März 16, 2005 23:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, stimmt, war ein Denkfehler meinerseits. Ein Tipp:
Mach das Prgramm funktionsfähig, schlage notfalls Befehle in der OH nach.
Der Code ist mehr als unbrauchbar und von der Syntax unglaublich falsch. Zusätzlich ergeben sich Flüchtigkeitsfehler, was das Ganze auch nicht schöner macht...
Ich habe irgendwie das Gefühl deine Frage ist etwa folgende:
Kind in der 7. Klasse spricht im Physikunterricht (es geht um Lichtreflektion) seinen Lehrer an: Können sie mir mal kurz alles über Quantenphysik erklären, was es dazu zu wissen gibt? Ich brauche das nämlich gerade...

Das ist nicht böse gemeint, aber ich finde es einfach blöd, wenn man nach Types gefragt wird, wo doch noch nicht mal ein Code ohne Types zu Stande kommen kann...

mfg
Seoman
In Australien...

Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig Wink

Lunatix

BeitragDo, März 17, 2005 11:02
Antworten mit Zitat
Benutzer-Profile anzeigen
aah..ja

probiers mal wie beschrieben-

zur OH : ddie einzige gute OH ist auf blitzbase und robbs 3d kurs ich
hab schon 4 kurse richtig gemacht und 9 habbich nur das da das mit types
nit so recht erklärt war
P.S.:die anneren 5 warn entweder 2d oder unbrauchbar 4me
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Lunatix

BeitragDo, März 17, 2005 11:15
Antworten mit Zitat
Benutzer-Profile anzeigen
kann mir jemand sagen, warum mein mesh im boden versinkt, aber mein pivot oder camera dingsda nicht?
da häng ich irgendwie seit 8 tagen dran, hab immer gedacht es läge an meinen selbst gemachten
oder aus mm2 exportierten meshs aber dieser fliegzeug da is downgloaded...
ausserdem wenn ich da das hideentity pivot mach dann hab ich only se background nur noch


syntax="bb"]


Graphics3D 800,600,32,1
SetBuffer BackBuffer()




Global XFighter=loadXFighter("meshs\JET.3ds")


Global cam= CreateCamera(XFighter)
PositionEntity cam,0,0,-10

Global light=CreateLight()



Global plane=LoadTerrain("environ\hmap_1024.bmp")
PositionEntity plane,0,0,0
ScaleEntity plane,2000,80000,2000
land_tex=LoadTexture("mossyground.bmp")
EntityTexture plane,land_tex
EntityType plane,2
EntityRadius plane,10
Global background=LoadImage("environ\sky.jpg")
cam()
;Landscape()


loadflugplatz()


Function cam()

CameraViewport cam,0,0,GraphicsWidth(),GraphicsHeight()
fog_range=5000
CameraRange cam,1,fog_range
End Function

Function loadXFighter( file$ )

pivot=CreatePivot()
entity=LoadMesh( file$,pivot )
;texent=LoadTexture("defender.bmp")
;EntityTexture entity,texent
ScaleMesh entity ,0.5,0.5,0.5
PositionEntity entity,0,-10,350
RotateEntity entity, 0,-90,0

EntityType pivot,1
EntityRadius pivot,15
;HideEntity pivot
PointEntity pivot,entity
Return pivot


End Function



Function loadflugplatz()

F_Place=LoadMesh("meshs\airfield.3ds")
ScaleEntity F_Place,50,50,50
PositionEntity F_Place,0,0,-400
EntityType F_Place,2
EntityRadius F_Place,15
;F_Place_tex=LoadTexture("waterworld3.bmp")
;EntityTexture F_Place,F_Place_tex,0,1

End Function



Collisions 1,2,2,2

While Not KeyHit(1)

TurnEntity XFighter,0,-MouseXSpeed(),0
TurnEntity XFighter,MouseYSpeed(),0,0
MoveMouse 500,300
fog_range=500000


CameraRange cam,1,fog_range

;If KeyDown(30) Then TurnEntity camera, 0, 1, 0
;If KeyDown(203) Then TurnEntity camera, 0, 1, 0


;If KeyDown(32) Then TurnEntity camera, 0, -1, 0
;If KeyDown(205) Then TurnEntity camera, 0, -1, 0


If KeyDown(17) Then MoveEntity XFighter, 0, 0, 2
If KeyDown(200) Then MoveEntity XFighter, 0, 0, 2



If KeyDown(31) Then MoveEntity XFighter, 0, 0, -10
If KeyDown(208) Then MoveEntity XFighter, 0, 0, -10

If KeyDown(57) Then MoveEntity XFighter, 0, 0, 100



CameraViewport cam,0,0,GraphicsWidth(),GraphicsHeight()
PositionEntity cam,0,10,0
CameraClsMode cam,0,1
TileBlock background,0,0

UpdateWorld

RenderWorld
UpdateWorld
Flip
Wend
End
[syntax]
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

Dreamora

BeitragDo, März 17, 2005 11:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Weil du das Mesh falsch positionierst.

Die Position die du angibst, bezieht sich auf den 0,0,0 Punkt im Mesh. Wenn du also die Positionen gleich angeben willst wie bei Cam etc, dann musst du dafür sorgen, dass der 0,0,0 des Meshes sich unten am "boden" des Meshes befindet oder eine entsprechende Verschiebung mit einfliessen lassen beim positionieren
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Seoman

BeitragDo, März 17, 2005 12:32
Antworten mit Zitat
Benutzer-Profile anzeigen
JunkProgger hat Folgendes geschrieben:
kann mir jemand sagen, warum mein mesh im boden versinkt, aber mein pivot oder camera dingsda nicht?
da häng ich irgendwie seit 8 tagen dran, hab immer gedacht es läge an meinen selbst gemachten
oder aus mm2 exportierten meshs aber dieser fliegzeug da is downgloaded...
ausserdem wenn ich da das hideentity pivot mach dann hab ich only se background nur noch


@Dreamora:
Ich finde es echt beeindruckend, dass du bei einer derartigen Fragestellung verstehst, was er meint. Ich habe nach Durchlesen des Textes absolut die Lust daran verloren, mir den Code anzugucken.

@JunkProgger:

hab ich only se background nur noch Rolling Eyes Rolling Eyes
In Australien...

Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig Wink
 

Dreamora

BeitragDo, März 17, 2005 12:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Das braucht es eigentlich nicht wirklich.
Da er alles mit der gleichen Technik positioniert bleibt als fehlerquelle eigentlich nur noch das Mesh selbst, was ja sehr häufig passiert, dass die Leute 0,0,0 nicht zwischen die "Füsse" ( oder gleichwertiges ) legen, womit sie danach im boden versinken oder drüber schweben Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Lunatix

BeitragDo, März 17, 2005 13:42
Antworten mit Zitat
Benutzer-Profile anzeigen
heisst das ich muss in blitzbase oder in einem modeller
den punkt0,0,0 verändern?
gibt es irgendwo tuts zu milkshape?
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group