Gegner in 3D

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen

Goldini

Betreff: Gegner in 3D

BeitragFr, Okt 27, 2006 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,ich habe wieder mal ein Problem!Wie Programmiert man Gegner in 3D?
Könnt ihr mir helfen?
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy
 

Dreamora

BeitragFr, Okt 27, 2006 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Bitte stelle deine Frage spezifischer.

Aktuell sagst du nicht wonach du genau suchst.

Prinzipiell:

1. Gegner muss Model haben
2. Vermutlich wirst du auch eine KI brauchen, da benutze suchen und google

Generell:

Programmieren verlangt sehr viel Nachforschungen. Wenn du dazu nicht bereit bist (ie das Board mit zig fragen zu bombst obwohl du scheinbar nicht mal die Grundlagen verstanden hast), muss ich dir leider empfehlen ein einfacheres Hobby zu suchen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Goldini

BeitragFr, Okt 27, 2006 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie Programmiert man eine KI?
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

darth

BeitragFr, Okt 27, 2006 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
mit logik
Diese Signatur ist leer.

Abrexxes

BeitragFr, Okt 27, 2006 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
*lol* super Thread!

Nächste Frage.

Goldini

BeitragFr, Okt 27, 2006 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja ich meine, dass sie mir folgen und auf mich schießen.
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

Christoph

BeitragFr, Okt 27, 2006 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst alles ins kleinste Detail aufschreiben, und zwar so, dass Blitzbasic was damit anfangen kann.

So wird aus

Zitat:
Wenn er schießt, dann weiche nach links oder rechts aus.


so etwas (ungefähr):

Code: [AUSKLAPPEN]
if gegner\schuss=1 then
  richtung=rand(0,1)
  if richtung=0 then
    moveentity Spieler,1,0,0
  else
    moveentity Spieler,-1,0,0
  endif
endif


Wenn mans ganz simpel will... Confused
Normalerweise müsste man den Gegner noch animieren, dann ein flüssiges Ausweichmanöver einbauen, und und und....

Du siehst es ist nicht so ganz einfach. (KI ist in manchen Spielen das kniffligste Problem überhaupt)

Xaron

BeitragFr, Okt 27, 2006 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Goldini2 hat Folgendes geschrieben:
Naja ich meine, dass sie mir folgen und auf mich schießen.


Naja, Du hast Deine Position und die Position des Gegners. Nun musst Du nur noch den Gegner so drehen, dass er in Deine Richtung schaut. Schau Dir dazu z.B. mal den Befehl AlignToVector an. Wenn er erstmal in Deine Richtung schaut, musst Du ihn ja nur noch in diese Richtung bewegen.

Gruß - Xaron
Cerberus X - Monkey X Reloaded!

Abrexxes

BeitragFr, Okt 27, 2006 16:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei 2CPUs von 3Ghz und nur einem GB Ram sollte dein Rechner auf dich schiessen. Wink

Auch eine KI sind nur Berechnungen. Wenn der Gegener dir folgen soll muss er gucken wo du Bist (XY) und dann in die Richtung laufen. (Einfach gesagt)

x-pressive

BeitragFr, Okt 27, 2006 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
@Dreamora & andere: es fällt auf, das Usern, die um Hilfe bitten, in letzter Zeit immer öfter blanke Aggressivität entgegengebracht wird. Ich möchte mal daran erinnern, daß dies ein Hilfeforum ist und jeder das Recht hat, eine Frage zu stellen, ohne daß man gleich eine persönliche Charakterwertung vornimmt. Wenn das nämlich der Fall ist, traut sich irgendwann niemand mehr zu fragen, aus Angst, seine Frage könnte "dumm" sein.

Selbst, wenn eine Frage wirklich unspezifisch oder "voreilig" ist, sollte man, und das gilt vor allem für die Mods, Toleranz aufbringen, Höflichkeit und eine professionelle, sachliche Haltung zeigen. Es kann nicht angehen, das man nur jenen Hilfesuchenden hilft, die einem selbstaufgestellten Charakterprofil entsprechen.

Es geht hier nicht um Erziehung (Deutsche haben gerne einen Erziehungsdrang). Dafür seid ihr aber nicht verantwortlich. Es geht hier darum, das Knowhow der Community zu fördern. Und das geschieht eben nicht durch eine "elitäre" oder aggressive Haltung, die in die Privatsphere des Fragenden dringt.

Ich wollte das eigentlich mal im Feedback-Bereich ansprechen, aber das hier ist leider wieder ein Paradebeispiel.
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Goldini

BeitragFr, Okt 27, 2006 18:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie bedient man AlingToVector? Mr. Green
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

x-pressive

BeitragFr, Okt 27, 2006 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Goldini, hast du schon mal die Online-Hilfe zum Befehl gelesen? Da wird es recht gut erklärt: AlignToVector

Wenn du den Artikel gelesen hast, und dir dann immer noch der Durchblick fehlt, frag einfach noch mal.
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Goldini

BeitragFr, Okt 27, 2006 18:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Hat mir sehr geholfen.Aber jetzt flackert das mesh!
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

pixelshooter

BeitragFr, Okt 27, 2006 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
kannst du bitte den code mal posten?

BladeRunner

Moderator

BeitragFr, Okt 27, 2006 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich muss, nach einigem Nachdenken, X-Pressive zustimmen. Man vergisst oft zu leicht wie man selbst angefangen hat. Und auch dass dieser Bereich speziell für Neulinge eingerichtet wurde.
Einen Teil der Kritik muss ich allerdings aufrecht erhalten: Das Vorhandensein von Foren sollte nicht von grundlegender Recherche und eigenständigen Überlegungen befreien. Ich hatte auch keine Foren als ich lernte.

Nunja, zum Thema KI:

http://de.wikipedia.org/wiki/Finite_State_Machine
http://de.wikipedia.org/wiki/Fuzzy_logic
http://de.wikipedia.org/wiki/Neuronale_Netze

Dies sind Grundlagen zu verschiedenen Modellen wie man "Intelligenz" simuliert. Die Umsetzung in Code ist allerdings teils sehr aufwändig. Hier sollten FSMs zu Beginn die leichteste Wahl sein.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

PSY

Betreff: EIN

BeitragFr, Okt 27, 2006 20:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Goldini2 hat Folgendes geschrieben:
Wie Programmiert man eine KI?



Es ist vielleicht etwas off-topic, aber wer überhaupt keine Vorstellung hat, wie eine KI auch nur ansatzweise aussehen könnte, sollte sich mal Age of Empires III ausleihen oder kaufen (Echtzeitstrategie).

Da gibt es nach der Installation einen Ordner, der sich AI nennt. In diesem sind die kompletten KI-Scripte uncodiert gespeichert, z.b. welche Gebäude er in welchem Zeitalter baut, wie er sich bei einem Angriff verhalten soll, wen er angreifen soll, wann er welche Ressourcen sammelt usw. Vor allem die Datei aiMain.xs ist anschauen.


Die Scripte sind sehr schön auskommentiert und extrem übersichtlich programmiert. Die Funktionen von Unterprogrammen gehen aus den Namen hervor.

Es handelt sich um C++ Scripte, aber man muss kein C++ Profi sein, um sie zu verstehen.

Auch sollte man bei halbwegs komplexen KI's die Aktionen der KI entweder in einer Console ausgeben, oder in eine Datei schreiben, z.B. "Habe wenig Munition, gehe in Defensive" oder "Keine Beeren mehr da, gehe Fischen", damit man weiss, wie/ob die CPU reagiert.

Ich kann die Scripte leider nicht posten, das würde wohl gegen das Copyright verstossen.


Betreff Hilfe:
Stimme ich auch X-Pressive zu. Für einige mögen die Lösungen zu Standardproblemen selbstverständlich sein, aber für viele Anfänger scheinen selbst die einfachsten Probleme unlösbar. Allerdings muss sich der Fragesteller im Vorfeld erstmal seiner Möglichkeiten zur Problemlösung bedienen, d.h.

A) Onlinehilfe installieren und lesen. Die Beispiele sind wirklich sehr verständlich, und die Befehle sind gut erklärt.

B) Die von Blitz mitgebrachten Samples durchgehen. Hier wird man auch sehr oft fündig.

C) GOOGLEN. Die Forensuche benutzen. Wenn man ein bischen Englisch kann, auch mal das englische Forum durchsuchen. ROBSITE bietet ebenfalls exzellente Tutorials.


ERST DANN: Exclamation

D) Code: [AUSKLAPPEN]
If A or B or C = 0 THEN print "Bitte helft mir"
Wink


L8er,
PSY
 

Phlox

BeitragSa, Okt 28, 2006 11:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Code steht hier, pixelshooter: (etwas weiter unten)
https://www.blitzforum.de/foru...hp?t=20357

Goldini

BeitragSa, Okt 28, 2006 11:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ist der richtige Code!
Code: [AUSKLAPPEN]
 Global info1$="BATTLE FIGHTER"
Global info2$="A,S,D sind mehre Geschwindigkeitsstufen"
Global info3$="Y ist rückwerts"
Global info4$="C und X sind zum seitlich rollen"
Global info5$="rechts=rechts,links=links,oben=unten,unten=oben"

Include "start.bb"

Const GRAVITY#=-.1
Const SHIP=1,SCENE=2,WATER=3,LIVE=10,SHOOT=4,SHOOT2=5

Collisions SHIP,SCENE,2,2
Collisions SHIP,WATER,2,3
Collisions SHIP,LIVE,2,2
Collisions SHOOT,SCENE,2,1
Collisions SHOOT,WATER,2,1
Collisions SHOOT2,SHIP,2,1

MilliSecs()

Global picked

Type feuer
Field sprite
End Type

Type ship
Field mesh
End Type

Type gegner
Field ge
End Type

Type feuer2
Field sprite2
End Type
;---------------------------------------------------
;wasser
Wate=CreatePlane()
PositionEntity Wate,0,115,0
RotateEntity Wate,0,0,180
EntityType Wate,WATER
Mi=CreateMirror()
PositionEntity Mi,0,120,0
EntityShininess Wate,1
;---------------------------------------------------
; wolken     
plane=CreatePlane()
PositionEntity plane,0,-3000,0
plane2=CreatePlane()PositionEntity plane2,0,-3000,0
RotateEntity plane2,0,0,180
;---------------------------------------------------
;funken
funky1=LoadSprite("sun.bmp",2+48)PositionEntity funky1,0,0,0
funkb1=LoadSprite("shoot.bmp",2+48)PositionEntity funkb1,-2.3,-1,-4.5
funkb2=LoadSprite("shoot.bmp",2+48)PositionEntity funkb2,2.3,-1,-4.5
ScaleSprite funky1,20,20
ScaleSprite funkb2,3,3
ScaleSprite funkb1,3,3
HideEntity funky1
;---------------------------------------------------
;Kerosin VORSICHT !!!
liter=50000
;---------------------------------------------------
; laden_von_meshes
Global mesh=LoadMesh("machine8.x")PositionEntity mesh,0,0,0
Global city=LoadMesh("MMC3.x")PositionEntity city,0,1,0
Global ge=LoadMesh("warbird.x")PositionEntity ge,3000,500,5000
TurnEntity mesh,0,0,0
ScaleMesh city,-0.5,-0.5,-0.5
ScaleMesh mesh,0.5,0.5,0.5
ScaleMesh mesh,10,10,10
ScaleMesh ge,50,50,50
EntityType mesh,SHIP
EntityRadius mesh,10
EntityType city,SCENE
EntityType ge,LIVE

FlipMesh city
;---------------------------------------------------
fog=50000
time=0
;---------------------------------------------------
;camera_und_einstellungen
cam=CreateCamera()PositionEntity cam,0,5,-20
CameraClsColor cam,0,98,145
CameraRange cam,1,1000000
CameraFogMode cam,1
CameraFogRange cam,1,fog
CameraFogColor cam,0,0,0
;---------------------------------------------------
light=CreateLight(1)
LightColor light,224,74,31
light2=CreateLight(3)PositionEntity light,10780,1000,1686
;---------------------------------------------------
;pivot
piv=CreatePivot(mesh)

;---------------------------------------------------
;texturen
tex=LoadTexture("MECHA2.bmp")
tex2=LoadTexture("MECHA2.bmp",48)
sky=LoadTexture("cloud.bmp",3)
wat=LoadTexture("water.bmp")
ScaleTexture tex,0,0
ScaleTexture sky,4000,4000
ScaleTexture wat,3000,3000
ScaleTexture tex2,20.0,20.0
EntityTexture mesh,tex2,0,0
EntityTexture city,tex,0,0
EntityTexture plane,sky
EntityTexture plane2,sky
EntityTexture Wate,wat
EntityAlpha Wate,.6

;---------------------------------------------------
;sounds
Global h=Load3DSound ("H.wav")
Global ax=Load3DSound ("Axel F.wav") 
Global b=LoadSound ("background.wav")             
LoopSound b
PlaySound b
;---------------------------------------------------
Data 51,255,0  ;100%
Data 51,255,0  ;90%
Data 51,255,0  ;80%
Data 51,255,0  ;70%
Data 51,255,0  ;60%
Data 255,255,0 ;50%
Data 255,255,0 ;40%
Data 255,190,0 ;30%
Data 255,130,0 ;20%
Data 255,51,0  ;10%

Dim Balken(1000,3)
For i = 1000 To 100 Step -100
  Read Balken(i,1), Balken(i,2), Balken(i,3)
Next
Leben = 1000

;---------------------------------------------------
b1=CreateCube()PositionEntity b1,0,2000,1000
ScaleMesh b1,20,20,20
b2=CreateCube()PositionEntity b2,30,2000,1000
ScaleMesh b2,20,20,20
b3=CreateCube()PositionEntity b3,60,2000,1000
ScaleMesh b3,20,20,20
b4=CreateCube()PositionEntity b4,90,2000,1000
ScaleMesh b4,20,20,20
b5=CreateCube()PositionEntity b5,120,2000,1000
ScaleMesh b5,20,20,20
b6=CreateCube()PositionEntity b6,150,2000,1000
ScaleMesh b6,20,20,20
b7=CreateCube()PositionEntity b7,180,2000,1000
ScaleMesh b7,20,20,20
b8=CreateCube()PositionEntity b8,210,2000,1000
ScaleMesh b8,20,20,20
b9=CreateCube()PositionEntity b9,240,2000,1000
ScaleMesh b9,20,20,20
b10=CreateCube()PositionEntity b10,270,2000,1000
ScaleMesh b10,20,20,20
b11=CreateCube()PositionEntity b11,300,2000,1000
ScaleMesh b11,20,20,20
b12=CreateCube()PositionEntity b12,330,2000,1000
ScaleMesh b12,20,20,20
;---------------------------------------------------
;Wind
wind=Rnd (6,50)
wind2=Rnd (6,50)
;---------------------------------------------------
uhr = 12
;---------------------------------------------------
;---------------------------------------------------
s=0
ang# = 0 
;---------------------------------------------------
; tastenbelegung
While Not KeyHit(1)

If KeyDown (200) Then TurnEntity mesh,1,0,0
If KeyDown (208) Then TurnEntity mesh,-1,0,0
If KeyDown (203) Then TurnEntity mesh,0,1,0
If KeyDown (205) Then TurnEntity mesh,0,-1,0
If KeyDown (30) And s<400 Then s=s+1 EntityTexture mesh,tex2 EntityShininess mesh,1 liter = liter -1
If KeyDown (44) And s>-200 Then s=s-1
If KeyDown (45)  Then TurnEntity mesh,0,0,1
If KeyDown (46)  Then TurnEntity mesh,0,0,-1

If KeyDown (200) Then TurnEntity piv,1,0,0
If KeyDown (208) Then TurnEntity piv,-1,0,0
If KeyDown (203) Then TurnEntity piv,0,1,0
If KeyDown (205) Then TurnEntity piv,0,-1,0
If KeyDown (30)  Then MoveEntity piv,0,0,5
If KeyDown (44)  Then MoveEntity piv,0,0,-5
If KeyDown (45)  Then TurnEntity piv,0,0,1
If KeyDown (46)  Then TurnEntity piv,0,0,-1

If KeyHit (17)  Then wire=Not wire
                 WireFrame wire

;superspeed
If KeyDown (31)  Then PlaySound e2 MoveEntity mesh,0,0,15 EntityTexture mesh,tex2 liter = liter -4
If KeyDown (31)  Then MoveEntity piv,0,0,15                                 


;highspeed
If KeyDown (32)  Then PlaySound e3 MoveEntity mesh,0,0,25 EntityTexture mesh,tex2 liter = liter -5
If KeyDown (32)  Then MoveEntity piv,0,0,25

If KeyDown (28) Then MoveEntity mesh,0,0,70 fire=LoadTexture("fire.png",2+48) EntityTexture mesh,fire liter = liter -6
;shoot
If KeyHit (57) Then
Feuer()
End If

;---------------------------------------------------
If KeyHit(88) Then
SaveBuffer(FrontBuffer(),"pictures\show2" + Str$(Shot) + ".bmp")
Shot=Shot + 1
End If
;---------------------------------------------------
If KeyDown (25) Or KeyDown (197) Then
front=LoadFont("Alien Encounters",80,0,0,0)
SetFont front
Text 150,200,"P A U S E"
Flip
FlushKeys
WaitKey
FreeFont front
End If
;---------------------------------------------------
If EntityCollided (mesh,SCENE) Then ShowEntity funky1 EntityTexture mesh,tex2 : funky1timer=MilliSecs() : If Leben > 0 Then Leben = Leben - 1
If EntityCollided (mesh,WATER) Then Leben = 1000
If  funky1timer<>0 Then
If (MilliSecs()-funky1timer) > 10 Then HideEntity funky1 : funky1timer=0
EndIf
If  funky2timer<>0 Then
If (MilliSecs()-funky2timer) > 10 Then HideEntity funky2 : funky2timer=0
EndIf
;---------------------------------------------------
If fog = 50000 Then uhr = 1
If fog = 45835 Then uhr = 2
If fog = 41665 Then uhr = 3
If fog = 37490 Then uhr = 4
If fog = 33335 Then uhr = 5
If fog = 29165 Then uhr = 6
If fog = 24990 Then uhr = 7
If fog = 20830 Then uhr = 8
If fog = 16665 Then uhr = 9
If fog = 12490 Then uhr = 10
If fog =  8330 Then uhr = 11
If fog =  4165 Then uhr = 12
If fog =   100 Then uhr = 0
;---------------------------------------------------
CameraFogRange cam,1,fog
;---------------------------------------------------
If uhr=0 Then CameraClsColor cam,0,0,40 LightColor light,0,0,255
If fog<5000 And fog>2500 Then CameraClsColor cam,0,0,55 LightColor light,1,0,255
If fog<10000 And fog>5000 Then CameraClsColor cam,0,0,90 LightColor light,6,4,200
If fog<25000 And fog>10000 Then CameraClsColor cam,0,49,72 LightColor light,112,37,15
If fog<40000 And fog>25000 Then CameraClsColor cam,0,69,92 LightColor light,132,57,35
If fog<50000 And fog>40000Then CameraClsColor cam,0,98,145 LightColor light,224,74,31
;---------------------------------------------------
TurnEntity b1,1,s,1
TurnEntity b2,1,s,1
TurnEntity b3,1,s,1
TurnEntity b4,1,s,1
TurnEntity b5,1,s,1
TurnEntity b6,1,s,1
TurnEntity b7,1,s,1
TurnEntity b8,1,s,1
TurnEntity b9,1,s,1
TurnEntity b10,1,s,1
TurnEntity b11,1,s,1
TurnEntity b12,1,s,1
;---------------------------------------------------
If fog = 50000 Then time =0
If fog = 100   Then time =1
;---------------------------------------------------
If time = 0 Then fog = fog-5
If time = 1 Then fog = fog+5
;---------------------------------------------------
MoveEntity mesh,0,0,s
;---------------------------------------------------
;---------------------------------------------------
If s=400 Then liter=liter-1
;---------------------------------------------------
If KeyDown (48) Then s=0
;---------------------------------------------------
AlignToVector ge,EntityX(mesh),EntityY(mesh),5,2
;---------------------------------------------------
;---------------------------------------------------
;---------------------------------------------------
;---------------------------------------------------
If KeyDown (201) And Leben <1000 Then Leben = Leben + 100 liter = 50000
If KeyDown (209) And Leben <1000 Or Leben = 1000 Or Leben > 1000 Then Leben = Leben - 1
;---------------------------------------------------
If Leben = 0 Then End
If Leben <100 Then beep=PlayMusic("warning.wav")
If liter < -10000 Then End
If liter <0 Then beep=PlayMusic("warning.wav")
;---------------------------------------------------
MoveEntity Wate,1,0,1
MoveEntity plane,wind,0,wind2
MoveEntity plane2,wind,0,wind2
;---------------------------------------------------
EntityParent cam,mesh
EntityParent funky1,mesh
EntityParent funkb1,mesh
EntityParent funkb2,mesh
;---------------------------------------------------
TranslateEntity mesh,0,0.6,GRAVITY,0
TurnEntity funky1,1,0,0
;---------------------------------------------------
; endbefehle     
updatefeuer()
updatefeuer2()
RenderWorld

For i = 100 To Leben Step 10
  If i Mod 100 = 0 Then Color Balken(i,1), Balken(i,2), Balken(i,3)
  Rect 20 + i/2, 20,50,40,1
Next

Text 70,130,liter + " Mililiter Kerosin"
If liter <0 Then Text 70,150,"Warning !!!"

Text 70,150,uhr + " Uhr"
RotateSprite funky1,ang
ang = ang +3

Text 70,140,fog + " Meter Sichtweite" 
Text 70,160,s

UpdateWorld
Flip
Wend

Function Feuer()
F.feuer=New feuer

F\sprite=LoadSprite("shoot.bmp",2+48)
ScaleSprite F\sprite,10,10
EntityType F\sprite,SHOOT
EntityRadius F\sprite,5
PositionEntity f\sprite,EntityX( mesh ),EntityY( mesh ),EntityZ( mesh )
RotateEntity f\sprite,EntityPitch( mesh ),EntityYaw( mesh ),EntityRoll( mesh )
MoveEntity f\sprite,0,0,MeshDepth( mesh )
End Function

Function UpdateFeuer()
For F.feuer = Each feuer
MoveEntity F\sprite,0,0,50
Next
End Function

Function Feuer2()
F2.feuer2=New feuer2

F2\sprite2=LoadSprite("sun.bmp",2+48)
ScaleSprite F2\sprite2,10,10
EntityType F2\sprite2,SHOOT2
EntityRadius F2\sprite2,5
PositionEntity f2\sprite2,EntityX( ge ),EntityY( ge ),EntityZ( ge )
RotateEntity f2\sprite2,EntityPitch( ge ),EntityYaw( ge ),EntityRoll( ge )
MoveEntity f2\sprite2,0,0,MeshDepth( ge )
End Function

Function UpdateFeuer2()
For F2.feuer2 = Each feuer2
MoveEntity F2\sprite2,0,0,20
Next
End Function
 
ClearWorld
End
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

BladeRunner

Moderator

BeitragSa, Okt 28, 2006 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Kurzes Off Topic:
Ich möchte Euch (QUERTZ und Goldini2) bitten Eure Systemspecs etwas zu kürzen. Kleinere Schrift und in eine Zeile wäre Fantastisch. Es ist gut wenn man weiß welchen Rechner ein Fragesteller hat, allerdings ist es recht nervig wenn die Signatur länger ist als ein Durchschnittspost. Danke schon im voraus.
(wie kommt man allerdings auf die Idee sich heutzutage einen Rechner mit 512 mb RAM zu kaufen ?)

Was Euren Code angeht solltet ihr euch angewöhnen sinnvoll einzurücken. So wie er jetzt ist kann man ihn nur sehr schwer lesen.
Und es stellt sich mir die Frage nach dem Sinn von Feuer und feuer2 - beide Types speichern identische Informationen und werden mit identischen Funktionen "betreut". Warum fasst ihr das nicht zu einem Type zusammen ?
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Goldini

BeitragSa, Okt 28, 2006 13:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich werde dann mal genauer!Code: [AUSKLAPPEN]

Type feuer
Field sprite
End Type

Type ship
Field mesh
End Type

Type gegner
Field ge
End Type

Type feuer2
Field sprite2
End Type
;-------------------------
Global ge=LoadMesh("warbird.x")PositionEntity ge,3000,500,5000

while not keyhit(1)
AlignToVector ge,EntityX(mesh),EntityY(mesh),EntityZ(mesh),-5,3
updatefeuer()
updatefeuer2()
renderworld
updateworld
flip
wend

Function Feuer()
F.feuer=New feuer

F\sprite=LoadSprite("shoot.bmp",2+48)
ScaleSprite F\sprite,10,10
EntityType F\sprite,SHOOT
EntityRadius F\sprite,5
PositionEntity f\sprite,EntityX( mesh ),EntityY( mesh ),EntityZ( mesh )
RotateEntity f\sprite,EntityPitch( mesh ),EntityYaw( mesh ),EntityRoll( mesh )
MoveEntity f\sprite,0,0,MeshDepth( mesh )
End Function

Function UpdateFeuer()
For F.feuer = Each feuer
MoveEntity F\sprite,0,0,50
Next
End Function

Function Feuer2()
F2.feuer2=New feuer2

F2\sprite2=LoadSprite("sun.bmp",2+48)
ScaleSprite F2\sprite2,10,10
EntityType F2\sprite2,SHOOT2
EntityRadius F2\sprite2,5
PositionEntity f2\sprite2,EntityX( ge ),EntityY( ge ),EntityZ( ge )
RotateEntity f2\sprite2,EntityPitch( ge ),EntityYaw( ge ),EntityRoll( ge )
MoveEntity f2\sprite2,0,0,MeshDepth( ge )
End Function

Function UpdateFeuer2()
For F2.feuer2 = Each feuer2
MoveEntity F2\sprite2,0,0,20
Next
End Function

clearworld
end

Also wie meinst du das?
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group