Package: igeEffekseer
igeEffekseerC++ extension Effekseer for 3D and 2D games.Before running this tutorial, you have to install igeEffekseer[pip install igeEffekseer]The EditorGet from link :https://effekseer.github.io/en/download.htmlTutorialhttps://github.com/indigames/pyxieTutorials/tree/dev/igeEffekseerSupportEffeck : .efkTexture : .pyxiAPIsFunctionsstatictexture_loaderset the texture loader callbackuse igeCore as a helper to load the texture then give back the texture information (width, height, id, has_mipmap)textures={}deff_texture_loader(name,type):print('f_texture_loader - '+name)tex=core.texture(name)textures[name]=texreturn(tex.width,tex.height,tex.id,tex.numMips>1)igeEffekseer.texture_loader(f_texture_loader)getset_particle=igeEffekseer.particle()frameratethe desired framerate60fps as default_particle.framerate=60.0particle_particle=igeEffekseer.particle()shootupdate then render the effekseer systemshoot(delta_time, clean_screen)delta_time : floatclean_screen : bool optional_particle.shoot(core.getElapsedTime())addadd the effect to the effekseer systemhandle = _particle.add(name, loop, position, rotation, scale)name : stringthe effect string pathloop : bool optionalOptionalIs looping or notposition : tupleOptionalThe position optionalrotation : tupleOptionalThe rotation optionalscale : tupleOptionalThe scale optional_distortion_handle=_particle.add(name='Simple_Distortion.efk',loop=True,position=(0.0,0.0,0.0))removeremove the effect from effekseer system_particle.remove(handle)handle : intthe effect handle_particle.remove(_distortion_hd)stop_all_effectsremove | stop all the effect from effekseer system_particle.stop_all_effects()set_target_locationset target location for the effect handle_particle.set_target_location(handle, x, y, z)handle : intthe effect handlex, y, z : float locationget_locationget location from the effect handleresult = _particle.get_location(handle)handle : intthe effect handleresult : tuple locationset_locationset location for the effect handle_particle.set_location(handle, x, y, z)handle : intthe effect handlex, y, z : float locationset_rotationset rotation for the effect handle_particle.set_rotation(handle, x, y, z)handle : intthe effect handlex, y, z : float rotationset_scaleset scale for the effect handle_particle.set_scale(handle, x, y, z)handle : intthe effect handlex, y, z : float scaleset_colorset scale for the effect handle_particle.set_scale(handle, red, green, blue, alpha)handle : intthe effect handlered, green, blue, alpha : int value channel (0-255)get_speedget speed from the effect handleresult = _particle.get_speed(handle)handle : intthe effect handleresult : float speedset_speedset speed for the effect handle_particle.set_speed(handle, speed)handle : intthe effect handlespeed : float valueis_playingchecking the effect is playingresult = _particle.is_playing(handle)handle : intthe effect handleresult : bool. True if the effect is playingset_pausepause the effect handle_particle.set_pause(handle, paused)handle : intthe effect handlepaused : bool valueget_pauseget the pause status from the effect handleresult = _particle.get_pause(handle)handle : intthe effect handleresult : bool valueset_shownswitch between show or hide of the effect handle_particle.set_shown(handle, shown)handle : intthe effect handleshown : bool valueget_shownget the show status from the effect handleresult = _particle.get_shown(handle)handle : intthe effect handleresult : bool valueset_looploop (true / false)_particle.set_loop(handle, loop)handle : intthe effect handleloop : bool valueget_loopget the loop status from the effect handleresult = _particle.get_loop(handle)handle : intthe effect handleresult : bool valuestatisticdrawcall_countreturn the drawcall countcount = _particle.drawcall_count()vertex_countreturn the draw vertex countcount = _particle.vertex_count()update_timereturn the update time taketime = _particle.update_time()time : int (micro second)draw_timereturn the draw time taketime = _particle.draw_time()time : int (micro second)