⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 effect.cpp

📁 国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国内还没有,所以找不到测试
💻 CPP
字号:
// Effect.cpp: implementation of the CEffect class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"

#include "MCGTimer.h"
#include "AnimFrame.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CEffect::CEffect()
{
	m_pBillBoard = NULL;
	m_pParticle = NULL;

	m_pEffectEmitter = NULL;

	D3DXMatrixIdentity(&m_matWorld);
	m_fSize = 1.0f;
	m_fRotationYaw = m_fRotationPitch = m_fRotationRoll = 0.0f;
	m_vPos = D3DXVECTOR3(0.0f,0.0f,0.0f);
	m_vDir = D3DXVECTOR3(0.0f,0.0f,0.0f);

	m_fStartTime = 0.0f;
	m_fEndTime = 0.0f;

	m_pVertex = NULL;
	m_pIndex = NULL;

	m_pTimer = NULL;
}

CEffect::~CEffect()
{
	SAFE_DELETE(m_pEffectEmitter);
	SAFE_DELETE(m_pTimer);

	SAFE_DELETE_ARRAY(m_pVertex);
	SAFE_DELETE_ARRAY(m_pIndex);
}

void CEffect::CreateEffect( EFFECT_INFO * pEffectInfo, const char * szEffect )
{
	m_wEffectIndex = NONE_EFFECT;

	D3DXVECTOR3 vDir;
	D3DXVec3Normalize(&vDir,&pEffectInfo->vDir);

	float ry = atan2f( vDir.x, vDir.z );
	float rx = atan2f( vDir.x*sinf(ry) + vDir.z*cosf(ry), vDir.y ) - (D3DX_PI/2);

	if(!strcmp(szEffect,"EffectScrap")){
		// 呼焊靛 屈侥 ....
		// CAniBillBoard;
		// 颇萍努 屈侥 ....
		// 
		//CreateScrap(pEffectInfo);
		m_wEffectIndex = SCRAP_EFFECT_1;

		//SetSize(RandomNumber(1.0f, 1.5f));
		SetSize(2.0f);
		SetRotationRoll(RandomNumber(1.0f, 1.5f));	// 雀怜滴 律概 矫虐技~~
		SetRotationYaw( ry );
		SetRotationPitch( rx );
		m_vPos = pEffectInfo->vStart;
		m_vDir = vDir;
		// 傲 咯扁辑 岿靛 备秦滚府技~~
		D3DXMATRIX matScale, matRot, matTranslate;
		D3DXMatrixIdentity(&matScale);
		D3DXMatrixIdentity(&matRot);
		D3DXMatrixIdentity(&matTranslate);
		D3DXMatrixTranslation(&matTranslate, m_vPos.x, m_vPos.y, m_vPos.z);
		D3DXMatrixScaling(&matScale, m_fSize, m_fSize, m_fSize);
		D3DXMatrixRotationYawPitchRoll(&matRot, m_fRotationYaw, m_fRotationPitch, m_fRotationRoll );

		m_matWorld = matScale * matRot * matTranslate;

	}else if(!strcmp(szEffect,"FireNomalWeapon")){		// 醚备 捞蒲捧...
		// 呼焊靛.. 
		//CreateFireNomal(pEffectInfo);
		m_wEffectIndex = FIRE_EFFECT_1;
		SetSize(RandomNumber(1.0f, 1.5f));
		SetRotationRoll(RandomNumber(1.0f, 1.5f));	// 雀怜滴 律概 矫虐技~~
		SetRotationYaw( ry );
		SetRotationPitch( rx );
		m_vPos = pEffectInfo->vStart;
		m_vDir = vDir;
		// 傲 咯扁辑 岿靛 备秦滚府技~~
		D3DXMATRIX matScale, matRot, matTranslate;
		D3DXMatrixIdentity(&matScale);
		D3DXMatrixIdentity(&matRot);
		D3DXMatrixIdentity(&matTranslate);
		D3DXMatrixTranslation(&matTranslate, m_vPos.x, m_vPos.y, m_vPos.z);
		D3DXMatrixScaling(&matScale, m_fSize, m_fSize, m_fSize);
		D3DXMatrixRotationYawPitchRoll(&matRot, m_fRotationYaw, m_fRotationPitch, m_fRotationRoll );

		m_matWorld = matScale * matRot * matTranslate;
//		D3DXMATRIX matWorldTest = matScale * matRot * matTranslate;
//		m_matWorld = matScale * matRot;
//		D3DXMatrixTranslation(&m_matWorld, m_vPos.x, m_vPos.y, m_vPos.z);


	}else if(!strcmp(szEffect,"Item Break Down")){		// 酒捞袍 峦 谎寂瘤绰..
		//CreateItemBreakDown(pEffectInfo);
	}else if(!strcmp(szEffect,"Item Bumb")){			// 坷宏璃飘 肯猎 何寂咙..
	//	CreateItemBumb(pEffectInfo);
	}else if(!strcmp(szEffect,"Create Item")){			// 酒捞袍 唱坷绰芭..
	//	CreateCreateItem(pEffectInfo);
	}else if(!strcmp(szEffect,"Get Item")){				// 酒捞袍 冈绰芭
	//	CreateGetItem(pEffectInfo);
	}else if(!strcmp(szEffect,"Foot Mark")){			// 惯磊惫..
		//CreateFootMark(pEffectInfo);
	}else if(!strcmp(szEffect,"Shot Nomal Mark")){		// 醚舅磊惫
		m_wEffectIndex = DECAL_EFFECT_1;
		return;
		// 概浆 备窍蓖..
		//CreateShotNomalMark(pEffectInfo);
//	}else if(!strcmp(szEffect,"")){
//		CreateScrap(pEffectInfo);
	}else{
	}
	m_pTimer = new CMCGTimer;
}

void CEffect::Start()
{
	if(m_pTimer)
		m_pTimer->Start();
}


HRESULT CEffect::Update( float fElapsedTime )
{
	if(!m_pTimer)
		return E_FAIL;
	if(!m_pTimer->IsRunning())
		return E_FAIL;

	return S_OK;
}

//CBaseEmitter * CEffect::GetUnit()
//{
//	CBaseEmitter * pEmitter = m_pEffectEmitter;
//	return m_pEffectEmitter;
//}

//void CEffect::Render()
//{
//	m_pEffectEmitter->Render();
//}

HRESULT CEffect::CreateScrap( EFFECT_INFO *pEffectInfo )
{
//	m_pEffectEmitter = new CEffectScrap;
//	CEffectScrap * pEmitter = (CEffectScrap*)m_pEffectEmitter;
//
//	((CEffectScrap*)m_pEffectEmitter)->m_vPos = pEffectInfo->vStart;		// 矫累困摹....
//	((CEffectScrap*)m_pEffectEmitter)->m_vDir = pEffectInfo->vDir;
//	((CEffectScrap*)m_pEffectEmitter)->m_dwParticleCount = 1; // 10俺俺 沥档父 谎府厘..快秋..
//	((CEffectScrap*)m_pEffectEmitter)->m_fEmitterSize = 0.1f;
//	((CEffectScrap*)m_pEffectEmitter)->LoadTexture(_T(".\\data\\Game\\Effect\\ParticleTexture.png"));
//	((CEffectScrap*)m_pEffectEmitter)->Create();
//	/**/
	return S_OK;
}

HRESULT CEffect::CreateFireNomal( EFFECT_INFO *pEffectInfo )
{
//	m_pEffectEmitter = new CEffectFireNomal;
//	CEffectFireNomal * pEmitter = (CEffectFireNomal*)m_pEffectEmitter;
//
//	pEmitter->m_vPos = pEffectInfo->vStart;		// 矫累困摹....
//	pEmitter->m_vDir = pEffectInfo->vDir;
////	pEmitter->m_dwParticleCount = 1; // 10俺俺 沥档父 谎府厘..快秋..
////	pEmitter->m_fEmitterSize = 0.1f;
////	pEmitter->LoadTexture(_T(".\\data\\Game\\Effect\\ParticleTexture.png"));
////	pEmitter->Create();

	return S_OK;
}

HRESULT CEffect::CreateItemBreakDown( EFFECT_INFO *pEffectInfo )
{
	return S_OK;
}

HRESULT CEffect::CreateItemBumb( EFFECT_INFO *pEffectInfo )
{
	return S_OK;
}

HRESULT CEffect::CreateCreateItem( EFFECT_INFO *pEffectInfo )
{
	return S_OK;
}

HRESULT CEffect::CreateGetItem( EFFECT_INFO *pEffectInfo )
{
	return S_OK;
}

HRESULT CEffect::CreateFootMark( EFFECT_INFO *pEffectInfo )
{
	return S_OK;
}

HRESULT CEffect::CreateShotNomalMark( EFFECT_INFO *pEffectInfo )
{
	return S_OK;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -