HI
Ich arbeite seit neustem mit der Irrlicht.au3 .
also jetzt möchte ich ein kleines spiel damit machen, sodass sich ne Shutgun(?) sich mit der Camera dreht. Also muss ich $X,$Y,$Z verändern und dann "SetPosition($Node,$X,$Y,$Z)" oder?
aber die Shutgun(?) bleibt an der stelle! (nur beim ersten aufruf geht es glaube ich mit SetPosition!) Die macht auch so ein paar "kunststücke"
aber irgendwie will ich das anders haben
Source
$Title = "Irrlicht"
$fps = 0
#include "IrrlichtPluginUtils.au3"
#include <Misc.au3>
AutoItSetOption("TrayIconHide", 1)
Opt("WinTitleMatchMode", 3)
;~ CreateDevice($EDT_DIRECT3D9, 640, 480, 16, 0, 0, 0)
CreateDevice($EDT_DIRECT3D9, @DesktopWidth - 200, @DesktopHeight - 200, 16, 0, 0, 0)
SetWindowCaption($Title)
$Light = AddLightSceneNode(0, 2000, 2000, 0, 1, 1, 1, 10000)
$Camera = AddCameraSceneNodeFPS(0, 100, 200, 1, 0.8)
SetPosition($Camera, 50, 25, 50)
SetTarget($Camera, 0, 25, 0)
$X = 50
$Y = 25
$Z = 50
$ModelsDir = @ScriptDir & "\data\"
GUISetCursor(16,1, WinGetHandle($Title, ""))
AddZipFileArchive($ModelsDir & "map-20kdm2.pk3")
$MapMesh = GetMesh("20kdm2.bsp")
$MapNode = AddOctTreeSceneNode($MapMesh)
SetPosition($MapNode, -1300, -144, -1249)
;###################################################################################################
$ModelsDir = @ScriptDir & "\"
;Getting meshs
$CharMesh = GetMesh($ModelsDir & "spos_weapon.md2")
;Creating scene nodes
$Node = AddAnimatedMeshSceneNode($CharMesh)
SetMaterialTexture($Node, 0, GetTexture($ModelsDir & "spos_weapon.png"))
;~ SetMD2Animation( $Node, $EMAT_Stand )
AddChild( $Camera, $Node )
SetLoopMode($Node, 1)
SetPosition($Node, 50,25,50)
SetTarget($Node, 0, 25, 0)
;###################################################################################################
;Add Sky
AddSkyBoxSceneNode( GetTexture("data\skybox\irrlicht2_up.jpg"), GetTexture("data\skybox\irrlicht2_dn.jpg"), GetTexture("data\skybox\irrlicht2_lf.jpg"), GetTexture("data\skybox\irrlicht2_rt.jpg"), GetTexture("data\skybox\irrlicht2_ft.jpg"), GetTexture("data\skybox\irrlicht2_bk.jpg"))
$MapSelector = CreateOctTreeTriangleSelector($MapMesh, $MapNode)
SetTriangleSelector($MapNode, $MapSelector)
$MapCameraAnimator = CreateCollisionResponseAnimator($MapSelector, $Camera, 25, 50, 25, 0, -1, 0, 0, 0, 0)
AddAnimator($Camera, $MapCameraAnimator)
DropAnimator($MapCameraAnimator)
AdlibRegister(_SettingCameraA(1), 50)
AdlibRegister("_FPS", 1000)
While IrrRun()
$fps += 1
BeginScene(True, True, 255, 100, 100, 100)
SceneDraw()
GuiDraw()
EndScene()
Sleep(20)
If _IsPressed("1B") Then Exit
$fps += 1
WEnd
Func _SettingCameraA($doll)
If _IsPressed(25) Then
$Z -= $doll
$Y -= $doll * 2
SetPosition($Node, $X, $Y, $Z)
SetPosition($Camera, $X, $Y - 100, $Z)
EndIf
If _IsPressed(26) Then
$X -= $doll
$Y -= $doll * 2
SetPosition($Node, $X, $Y, $Z)
SetPosition($Camera, $X, $Y, $Z)
EndIf
If _IsPressed(27) Then
$Z += $doll
$Y -= $doll * 2
SetPosition($Node, $X, $Y, $Z)
SetPosition($Camera, $X, $Y, $Z)
EndIf
If _IsPressed(28) Then
$X += $doll
$Y -= $doll * 2
SetPosition($Node, $X, $Y, $Z)
SetPosition($Camera, $X, $Y, $Z)
EndIf
EndFunc ;==>_SettingCameraA
Func _FPS()
ToolTip("FPS: " & $fps, 0, 0)
$fps = 0
EndFunc ;==>_FPS
;ich weiß es ist noch opimierbar!
[/autoit]
Hier zum Download