ºÇ½ª¹¹¿·¡§ boxer_programmer 2014ǯ02·î14Æü(¶â) 13:31:35ÍúÎò
- µ.½é´ü²½
¢¥¤¥ó¥¯¥ë¡¼¥É¡¢¥é¥¤¥Ö¥é¥ê¤ÎÀßÄê¤ò¹Ô¤¦
£Effekseer¥Þ¥Í¡¼¥¸¥ã¤ÎÀ¸À®
manager = ::Effekseer::Manager::Create( ºÇÂç¥Ñ¡¼¥Æ¥£¥¯¥ë¿ô );¤¥ì¥ó¥À¥é¤ÎÀ¸À®
renderer = ::EffekseerRenderer::Renderer::Create( (LPDIRECT3DDEVICE9)DxLib::GetUseDirect3DDevice9()(), ºÇÂ祹¥×¥é¥¤¥È¿ô );¤Ê¤ª¡¢GetUseDirect3DDevice9()¤ÏDxLib¤ÎÈó¸ø³«´Ø¿ô¤Ç¤¢¤ê¡¢ÆâÉô¤«¤éDirect3DDevice¤ò¼èÆÀ¤¹¤ë¤â¤Î¤Ç¤¹¡£
DxLib¤ÎÆâÉô¤ÇDirect3D9¤òÍøÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢¤½¤¤¤Ä¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£
Direct3D11¤Î¼èÆÀ¤Ï¤Ç¤¤Ê¤¤¤Ç¤·¤ç¤¦¤Í¡£¤³¤ì¤Ï¡£¤â¤·¤ä¤ê¤¿¤¤¾ì¹ç¤ÏDxLib¤ò¼«ÎϤÇDirectX11²½¤·¤Þ¤·¤ç¤¦¡£¤Æ¤«¤½¤ì¤¬½ÐÍè¤ë¿Í¤ÏDxLib»È¤ï¤Ê¤¯¤Æ¤â¤¤¤¤¤ó¤¸¤ã¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£
¥¥ì¥ó¥À¥é¤ÎÀßÄê
manager->SetSpriteRenderer(renderer->CreateSpriteRenderer()); manager->SetRibbonRenderer(renderer->CreateRibbonRenderer()); manager->SetRingRenderer(renderer->CreateRingRenderer());¦¥Æ¥¯¥¹¥Á¥ã¥í¡¼¥À¡¼¤ÎÀßÄê
manager->SetTextureLoader(renderer->CreateTexureLoader());
§ºÂɸ·Ï¤¬°ã¤¦¤Î¤Ç±¦¼ê·Ïº¸¼ê·Ï¤òDxLib(º¸¼ê·Ï)¤Ë¹ç¤ï¤»¤ë
manager->SetCoordinateSystem(Effekseer::COORDINATE_SYSTEM_LH);
¨Effekseer¤Î¥«¥á¥éÀßÄê¤òDxLib¤Ë¹ç¤ï¤»¤ë(ÌÌÅݤÀ¤¬¤³¤³¤ò¤ä¤é¤Ê¤¤¤ÈDxLib¦¤ÈºÂɸ¤¬¹ç¤ï¤Ê¤¤)
i.¤Þ¤ºDxLib¦¤«¤é¼Í±Æ¹ÔÎó¤È¥Ó¥å¡¼¹ÔÎó¤ò¼èÆÀ
MATRIX proj = GetCameraProjectionMatrix(); MATRIX view = GetCameraViewMatrix();ii.Effekseer¤ËÅϤ¹ÍѤιÔÎó¤òÍÑ°Õ
Effekseer::Matrix44 efproj,efview;
iii.4x4¹ÔÎó¤Î³ÆÍ×ÁǤòDxLib¢ªEffekseer¤Ë¥³¥Ô¡¼
for(int i=0;i<4;++i){ for(int j=0;j<4;++j){ effproj.Values[j][i] = proj.m[j][i]; effview.Values[j][i] = view.m[j][i]; } }iv.¤µ¤Ã¤ÍÑ°Õ¤·¤¿efproj¤Èefview¤ò¥ì¥ó¥À¥é¦¤ËÅϤ¹
renderer->SetProjectionMatrix(efproj); renderer->SetCameraMatrix(efview);
- ¶.¥¨¥Õ¥§¥¯¥ÈÆɤ߹þ¤ß
effect = Effekseer::Effect::Create(manager,(const EFK_CHAR*)L"¥¨¥Õ¥§¥¯¥È¥Õ¥¡¥¤¥ë̾.efk");¢¨EFK_CHAR*¤Ç¥¥ã¥¹¥È¤¹¤ëɬÍפ¬¤¢¤ë¡£EFK_CHAR¤Ï16bit¤Ç¤¢¤ê¥æ¥Ë¥³¡¼¥É¤Ç¤¢¤ë¤è¤¦¤À¡£
- ·.¥¨¥Õ¥§¥¯¥ÈºÆÀ¸
Play´Ø¿ô¤ò»ÈÍѤ¹¤ë¡£Âè°ì°ú¿ô¤Ë¤Ï¶¤ÇÆɤ߹þ¤ó¤À¥¨¥Õ¥§¥¯¥È¤òÆþ¤ì¤ë¡£¤¢¤È¤ÏX,Y,ZºÂɸ
playingHandle=manager->Play(effect,x,y,z);¢¨¤³¤³¤ÇÌá¤êÃͤȤ·¤Æ¼õ¤±¼è¤ë¥Ï¥ó¥É¥ë¤ÇÄä»ßÌ¿Îá¤ä°ÜÆ°Ì¿Î᤬½Ð¤»¤ë
¥³¥á¥ó¥È¤ò¤«¤¯