Effekseerのエフェクトが描画できない・・・

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
プラム
記事: 164
登録日時: 11年前
住所: 東海地方

Effekseerのエフェクトが描画できない・・・

#1

投稿記事 by プラム » 11年前

僕はDXライブラリでゲームを作っています。なぜか画像を描画ししっかりそのための処理をしていると思うのですが描画できません。
コード

コード:


// エフェクトの描画
void DrawEffect(void){
  
    EffHandle = EffManager->Play(Effect[1],1.0f,1.0f,1.0f);

    DrawGraph(0, 0, GHandle, TRUE);
 	
    RenderVertex();

    EffManager->AddLocation( EffHandle, ::Effekseer::Vector3D( pla[1].Shot[i].Pos.x, pla[1].Shot[i].Pos.y, pla[1].Shot[i].Pos.z ) ); 
    
    EffManager->Update();
     
    EffRenderer->BeginRendering();
 
    EffManager->Draw();
  
    EffRenderer->EndRendering();
}
void ShotUp( ){
					MV1_COLL_RESULT_POLY_DIM HitDim ;			
	for( i = 0 ; i< 1000 ; i++){
		if(pla[1].Shot[i].State==1){
			if(VSize(pla[1].Pos)+1200>VSize(pla[1].Shot[i].Pos)&&VSize(pla[1].Pos)-1200<VSize(pla[1].Shot[i].Pos)){
			pla[1].Shot[i].Pos=VAdd(pla[1].Shot[i].MoveVec,pla[1].Shot[i].Pos);


	HitDim = MV1CollCheck_Sphere( stg[1].ModelHandle, -1, pla[1].Shot[i].Pos, 10.0f ) ;

		
	DrawEffect();

				//	DrawBillboard3D( pla[1].Shot[i].Pos, 0.5f, 0.5f, 30.0f, VSize(pla[1].Shot[i].Pos), GHandle, TRUE ) ;

//DrawSphere3D( pla[1].Shot[i].Pos, 10.0f, 32, GetColor( 255,0,0 ), GetColor( 255, 255, 255 ), TRUE ) ;
		
	if(HitDim.HitNum>=1){
		pla[1].Shot[i].State=0;
		
	}
	
        MV1CollResultPolyDimTerminate( HitDim ) ;


	}else{
				pla[1].Shot[i].State=0;
			}
		}
	} 
}
という感じです
実行結果↓
スクリーンショット008.png
わかる人、回答お願いします。

ISLe
記事: 2650
登録日時: 14年前
連絡を取る:

Re: Effekseerのエフェクトが描画できない・・・

#2

投稿記事 by ISLe » 11年前

Effekseerに関係するコードはこれがすべてですか?

Effekseerに対して変換行列を設定する必要があるらしいのですが、該当するコードはあるのでしょうか。

アバター
プラム
記事: 164
登録日時: 11年前
住所: 東海地方

Re: Effekseerのエフェクトが描画できない・・・

#3

投稿記事 by プラム » 11年前

ISleさん>>ありがとうございました。
ごめんなさい、残りのコードを貼り忘れてました。

コード:


void EffectInit(void){
 
    // 描画用インスタンスの生成
    EffRenderer = ::EffekseerRendererDX9::Renderer::Create( (LPDIRECT3DDEVICE9)GetUseDirect3DDevice9(), 30000 );
    
    // エフェクト管理用インスタンスの生成
    EffManager = ::Effekseer::Manager::Create( 3000 );
 
    // 描画用インスタンスから描画機能を設定
    EffManager->SetSpriteRenderer( EffRenderer->CreateSpriteRenderer() );
    EffManager->SetRibbonRenderer( EffRenderer->CreateRibbonRenderer() );
    EffManager->SetRingRenderer( EffRenderer->CreateRingRenderer() );
    EffManager->SetModelRenderer( EffRenderer->CreateModelRenderer() );
    EffManager->SetTextureLoader( EffRenderer->CreateTextureLoader() );
    EffManager->SetModelLoader( EffRenderer->CreateModelLoader() );
    EffManager->SetCoordinateSystem( ::Effekseer::COORDINATE_SYSTEM_LH );
 
    // エフェクトの読込
    Effect[1] = Effekseer::Effect::Create( EffManager, (const EFK_CHAR*)L"data/Eff/Shot.efk" ); 

}
がまだ書いてないコードです。

ISLe
記事: 2650
登録日時: 14年前
連絡を取る:

Re: Effekseerのエフェクトが描画できない・・・

#4

投稿記事 by ISLe » 11年前

こちらに書いてある内容を参考に変換行列を設定するコードを追加してみてください。
http://seesaawiki.jp/w/boxer_programmer ... 4%A4%A4%C6

アバター
プラム
記事: 164
登録日時: 11年前
住所: 東海地方

Re: Effekseerのエフェクトが描画できない・・・

#5

投稿記事 by プラム » 11年前

そのコードを追加したところ描画できました。
ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る