Eu Help

new topic     » topic index » view thread      » older message » newer message

Trying to get this example to work, but I cannot get the Euphoria version working of my program. When I hit the ESC key, the program does not close.

C Example

#include <cirrlicht/cirrlicht.h> 
#include <stdio.h> 
#include <wchar.h> 
 
irrISceneNode sphere; 
IRR_F32 deltaTime; 
IRR_F32 MOVEMENT_SPEED; 
IRR_BOOL isWPressed; 
IRR_BOOL isAPressed; 
IRR_BOOL isSPressed; 
IRR_BOOL isDPressed; 
 
void handleInpunt() 
{ 
  irrSEvent evt; 
  irrVector3df pos = irrVector3dfNew(0,0,0); 
   
  irrISceneNodeGetPosition(sphere,pos); 
  evt = irrSEventNew(); 
  while(irrIrrlichtDevicePopEvent(evt)) 
  { 
    if(irrSEventIsKeyboardInputEvent(evt)) 
    { 
      irrSKeyInput keyInput = irrSEventGetKeyInput(evt); 
      irr_EKEY_CODE keyCode = irrSKeyInputGetKey(keyInput); 
       
      if(irrEKeyCodeEqual(keyCode,irr_EKEY_CODE_KEY_KEY_V()) && irrSKeyInputIsPressed(keyInput)==false) 
      { 
        irrISceneNodeSetVisible(sphere,!irrISceneNodeIsVisible(sphere)); 
        printf("irrISCeneNodeSetVisible\n"); 
      } 
       
      if(irrEKeyCodeEqual(keyCode,irr_EKEY_CODE_KEY_KEY_W())) 
        isWPressed = irrSKeyInputIsPressed(keyInput); 
      else if(irrEKeyCodeEqual(keyCode,irr_EKEY_CODE_KEY_KEY_S())) 
        isSPressed = irrSKeyInputIsPressed(keyInput); 
      else if(irrEKeyCodeEqual(keyCode,irr_EKEY_CODE_KEY_KEY_A())) 
        isAPressed = irrSKeyInputIsPressed(keyInput); 
      else if(irrEKeyCodeEqual(keyCode,irr_EKEY_CODE_KEY_KEY_D())) 
        isDPressed = irrSKeyInputIsPressed(keyInput); 
    } 
  } 
   
  if(isWPressed) 
    irrVector3dfSetY(pos,irrVector3dfGetY(pos)+deltaTime*MOVEMENT_SPEED); 
  if(isSPressed) 
    irrVector3dfSetY(pos,irrVector3dfGetY(pos)-deltaTime*MOVEMENT_SPEED); 
  if(isAPressed) 
    irrVector3dfSetX(pos,irrVector3dfGetX(pos)-deltaTime*MOVEMENT_SPEED); 
  if(isDPressed) 
    irrVector3dfSetX(pos,irrVector3dfGetX(pos)+deltaTime*MOVEMENT_SPEED); 
   
   
  irrISceneNodeSetPosition(sphere,pos); 
  irrSEventDelete(evt);   
  irrVector3dfDelete(pos); 
} 

Eu Example

include std/machine.e 
 
include EuIrr.ew 
 
constant TRUE = 1, FALSE = 0 
atom deltatime 
 
atom dims = irrDimension2duNew(800,600) 
atom campos = irrVector3dfNew(0,30,-40) 
atom camat = irrVector3dfNew(0,5,0) 
 
atom driver,smgr,gui 
atom col = irrSColorNew(255,100,100,100) 
 
atom Wpressed = 0 
atom Apressed = 0 
atom Spressed = 0 
atom Dpressed = 0 
atom Escpressed = 0 
 
procedure handleInput() 
 
 atom evt = irrSEventNew() 
while irrIrrlichtDevicePopEvent(evt) do 
 if (irrSEventIsKeyboardInputEvent(evt)) then 
  
 	atom keyInput = irrSEventGetKeyInput(evt) 
 	atom keyCode = irrSKeyInputGetKey(keyInput) 
 	 
	if (irrEKeyCodeEqual(keyCode,irrEKeyCodeKeyEscape()) and not irrSKeyInputIsPressed(keyInput) = FALSE) then 
		Escpressed = irrSKeyInputIsPressed(keyInput) 
	end if 
 end if 
end while 
	 
	if Escpressed = TRUE then 
	  irrIrrlichtDeviceClose() 
	end if 
 
	irrSEventDelete(evt) 
end procedure 
 
irrCreateDevice(dims,FALSE,TRUE,FALSE) 
 
if irrIrrlichtDeviceWasCreated() = -1 then 
	puts(1,"Failed to create device!\n") 
	abort(0) 
end if 
 
driver = irrIrrlichtDeviceGetVideoDriver() 
smgr = irrIrrlichtDeviceGetSceneManager() 
gui = irrIrrlichtDeviceGetGUIEnviroment() 
 
irrIrrlichtDeviceSetWindowsCaption("Node") 
 
atom cube = irrISceneManagerAddCubeSceneNode(smgr,10) 
cube = irrIMeshSceneNodeGetSceneNode(cube) 
irrISceneNodeSetMaterialFlag(cube,irr_video_EMF_LIGHTING(), FALSE) 
 
atom driverName = irrIVideoDriverGetName(driver) 
atom xtimer = irrIrrlichtDeviceGetTimer() 
atom last = irrITimerGetTime(xtimer) 
 
irrISceneManagerAddCameraSceneNode(smgr,irrISceneNodeNull(),campos,camat,TRUE) 
 
while irrIrrlichtDeviceRun() do 
	atom now = irrITimerGetTime(xtimer) 
	atom fps 
	deltatime = (now - last) / 1000 
	last = now 
	 
fps = irrIVideoDriverGetFPS(driver) 
 
 --printf(1,"FPS: %d : %d",{driverName,fps}) 
	 
	irrIVideoDriverBeginScene(driver,TRUE,TRUE,col) 
	 
	irrISceneManagerDrawAll(smgr) 
	 
	irrIVideoDriverEndScene(driver) 
	 
	handleInput() 
end while 
 
irrDimension2duDelete(dims) 
irrSColorDelete(col) 
irrVector3dfDelete(campos) 
irrVector3dfDelete(camat) 
irrIrrlichtDeviceDrop() 
new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu