Help and information forum for programs, BlitzMax mods, and Unity scripts written by GMan.
For hobby gaming from GMan, visit G-Squared Games.
GMan's Mods & Stuff → Announcements & Downloads → gg.IrrAddons - updated 2006/7/10
i have added the new T_irr3PCameraAnimator type. here is an example using a modified version of the movement Irrlicht sample (this also shows the smooth event receiver):
' make sure you build this example with the "Build GUI App" option turned off
Strict
Framework BRL.Blitz
Import BRL.StandardIO
Import gg.IrrBMAX
Import gg.IrrAddons
Local node:T_irrISceneNode
Rem
create a smooth event receiver so we can use commands similar to BMAX
Press 'W', the node moves up, And If you press 'S' it moves down.
EndRem
Local receiver:T_irrSmoothEventReceiver=T_irrSmoothEventReceiver.createReceiver()
Local device:T_irrIrrlichtDevice=T_irrIrrlichtDevice.create( ..
EDT_OPENGL, ..
T_irrDimension2d_s32.create(640,480), ..
16,False,False,False,T_irrIEventReceiver(receiver))
If device.handle=0 Then Return ' could Not create selected driver.
Local driver:T_irrIVideoDriver=device.getVideoDriver()
Local smgr:T_irrISceneManager=device.getSceneManager()
node = smgr.addTestSceneNode()
node.setPosition(T_irrVector3df.createFromVals(0,0,30))
node.setMaterialTexture(0,driver.getTexture("../media/wall.bmp"))
Local n:T_irrISceneNode = smgr.addTestSceneNode()
n.setMaterialTexture(0,driver.getTexture("../media/t351sml.jpg"))
Local anim:T_irrISceneNodeAnimator = smgr.createFlyCircleAnimator( ..
T_irrVector3df.createFromVals(0,0,30), 20.0)
n.addAnimator(anim)
Local anms:T_irrIAnimatedMeshSceneNode = smgr.addAnimatedMeshSceneNode( ..
smgr.getMesh("../media/sydney.md2"))
If (n.isValid())
anim = smgr.createFlyStraightAnimator(T_irrVector3df.createFromVals(100,0,60), ..
T_irrVector3df.createFromVals(-100,0,60), 10000, True)
anms.addAnimator(anim)
anms.setMaterialFlag(EMF_LIGHTING, False)
anms.setFrameLoop(320, 360)
anms.setAnimationSpeed(30)
anms.setRotation(T_irrVector3df.createFromVals(0,180.0,0))
anms.setMaterialTexture(0,driver.getTexture("../media/sydney.bmp"))
EndIf
device.getCursorControl().setVisible(False)
' create a camera to use as the 3P cam
Local camera:T_irrICameraSceneNode=smgr.addCameraSceneNode()
' attach the 3P animator to the camera
' params are camera to attach to, device, and the node that is the target
attach3PCameraAnimator(camera,device,node)
'attach3PCameraAnimator(camera,device,anms)
'attach3PCameraAnimator(camera,device,n)
Local lastFPS:Int=-1
Local fps:Int=0
Local str:String=""
While(device.run())
' check if W is being pressed
If receiver.IsKeyDown(EKEY_KEY_W)
Local v:T_irrVector3df=node.getPosition()
v.setY(v.getY()+2.0)
node.setPosition(v)
EndIf
' check if S is being pressed
If receiver.IsKeyDown(EKEY_KEY_S)
Local v:T_irrVector3df=node.getPosition()
v.setY(v.getY()-2.0)
node.setPosition(v)
EndIf
driver.beginScene(True, True, T_irrSColor.createFromVals(255,113,113,133))
smgr.drawAll()
driver.endScene()
fps = driver.getFPS()
If (lastFPS <> fps) Then
str$ = "Movement Example - Irrlicht Engine ["
str$ :+ driver.getName()
str$ :+ "] FPS:"
str$ :+ fps
device.setWindowCaption(str$)
lastFPS = fps
EndIf
Wend
Rem
In the End, Delete the Irrlicht device.
EndRem
device.drop()i wrapped up the wind generator and grass patch node last night as well as ported most of the grass node sample. the node and wind generator are functioning properly i just need to finish up the sample and release the addons. should be tonight sometime.
GMan's Mods & Stuff → Announcements & Downloads → gg.IrrAddons - updated 2006/7/10
Powered by PunBB, supported by Informer Technologies, Inc.