Hallo Leute (bin neu hier) !
Ich befasse mich seit kurzem mit irrlicht und möchte gern ein paar dinge ausprobieren.
Leider hänge ich schon am anfang und hoffe ihr könnt mir helfen.
In diesem Beispiel wird eine gekachlte Plattform erstellt. Die Kacheln der Plattform soll man
später bewegen können, aber das ist jetzt nicht so wichtig.
Meine Frage:
Wie kann ich die kacheln als Hindernis erkennen , damit die Kamera nicht mehr durch die
Plattform fährt (,aber von der Plattform fallen kann.) ?..... kann mir das jemand erklären?
- Danke im Voraus!
[autoit]
#include "..\au3Irrlicht2.au3"
HotKeySet("{ESC}", "_exit")
[/autoit][autoit][/autoit][autoit]Func _exit()
_IrrStop()
Exit
EndFunc ; _exit
Global $ROWS_AND_COLUMNS = 40
Global $hLOD2Mesh
Global $iAmountNodes = $ROWS_AND_COLUMNS * $ROWS_AND_COLUMNS
Global $aSceneNodes[$iAmountNodes]
Global $hMaterial
Global $k = 0
Global $hLODManager
Global $hCamera
_IrrStart( $IRR_EDT_OPENGL, 800, 600, $IRR_BITS_PER_PIXEL_32, _
$IRR_WINDOWED, $IRR_SHADOWS, $IRR_IGNORE_EVENTS, $IRR_VERTICAL_SYNC_ON )
$hLOD2Mesh = _IrrGetMesh("../media/cube.x")
local $sceneNode = _IrrAddMeshToScene( $hLOD2Mesh )
_IrrScaleMesh($hLOD2Mesh, 2.0)
_IrrSetMeshHardwareAccelerated($hLOD2Mesh)
$texture = _IrrGetTexture("../media/Cross.bmp")
For $i = -($ROWS_AND_COLUMNS / 2) To ($ROWS_AND_COLUMNS / 2) - 1
For $j = -($ROWS_AND_COLUMNS / 2) To ($ROWS_AND_COLUMNS / 2) - 1
$aSceneNodes[$k] = _IrrAddMeshToScene($hLOD2Mesh)
_IrrSetNodePosition($aSceneNodes[$k], $i * 5.0, 0.0, $j * 5.0)
_IrrSetNodeMaterialTexture($aSceneNodes[$k], $texture, 0)
_IrrSetNodeMaterialFlag($aSceneNodes[$k], $IRR_EMF_LIGHTING, $IRR_ON)
$hMaterial = _IrrGetMaterial($aSceneNodes[$k], 0)
_IrrMaterialVertexColorAffects($hMaterial, $ECM_NONE)
_IrrMaterialSetAmbientColor($hMaterial, 255, 255, 255, 255)
_IrrMaterialSetDiffuseColor($hMaterial, 255, 255, 255, 255)
$k += 1
Next
Next
$hLODManager = _IrrAddLODManager(2, $IRR_off)
_IrrSetLODMaterialMap($hLODManager, $IRR_EMT_TRANSPARENT_ADD_COLOR, $IRR_EMT_TRANSPARENT_ADD_COLOR)
_IrrAddLODMesh($hLODManager, 600.0, $hLOD2Mesh)
_IrrSetNodeMaterialFlag($hLODManager, $IRR_EMF_LIGHTING, $IRR_OFF)
For $i = 0 To $k - 1
_IrrAddChildToParent($aSceneNodes[$i], $hLODManager)
Next
$Camera = _IrrAddFPSCamera()
$CameraNode = $Camera
_IrrSetNodePosition( $CameraNode, 200, 100, 0 )
_IrrSetNodeRotation( $CameraNode, 0, -90, 0 )
_IrrSetAmbientLight(1, 1, 1)
_IrrHideMouse()
While _IrrRunning() And Sleep(10)
_IrrBeginScene(0, 0, 0)
_IrrDrawScene()
_IrrEndScene()
WEnd
_IrrStop()
[/autoit]