cue.h

来自「C++台球游戏代码」· C头文件 代码 · 共 49 行

H
49
字号
#if !defined(AFX_CUE_H__F7B8B61C_6337_483D_A227_A28ECF766D93__INCLUDED_)
#define AFX_CUE_H__F7B8B61C_6337_483D_A227_A28ECF766D93__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Base.h"
#define CUE_D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1)

class CCue:public CBase
{
private:
	struct CUE_CUSTOMVERTEX
	{
		float x,y,z;
		float nx,ny,nz;
		float tu,tv;
	};

public:
	bool SetMaterial(D3DCOLORVALUE rgbaDiffuse,D3DCOLORVALUE rgbaAmbient,
		             D3DCOLORVALUE rgbaSpecular,D3DCOLORVALUE rgbaEmissive,float rPower);
	bool SetSideTexture(const char *szTextureFilePath);
	bool SetEndTexture(const char *szTextureFilePath);
	DWORD Render();
	CCue(LPDIRECT3DDEVICE8 pD3DDevice,float fHeight=1.0f,float fRadius=1.0f,int iSegments=20);
	virtual ~CCue();

	void TransformCue(D3DXVECTOR3 vecCuePosition,D3DXVECTOR3 vecCueDirection,int iMouseY);

private:
	bool UpdateVertices();
	bool CreateVertexBuffer();
	LPDIRECT3DDEVICE8 m_pD3DDevice;
	LPDIRECT3DVERTEXBUFFER8 m_pVertexBuffer;
	LPDIRECT3DTEXTURE8 m_pSideTexture;
	LPDIRECT3DTEXTURE8 m_pEndTexture;
	D3DMATERIAL8 m_matMaterial;

	float m_fHeight;
	float m_fRadius;
	int m_iSegments;

	DWORD m_dwNumOfVertices;
	DWORD m_dwNumOfSidePolygons;
	DWORD m_dwNumOfEndPolygons;
};
#endif // !defined(AFX_CUE_H__F7B8B61C_6337_483D_A227_A28ECF766D93__INCLUDED_)

⌨️ 快捷键说明

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