The tile still isnt showing up tho :-/ but no access violation.
#ifndef MAIN_H#define MAIN_H#include<windows.h>#include<d3d9.h>#include<d3dx9.h>#include<string>using namespace std;class cPlayer{private: ID3DXSprite *sprite; IDirect3DTexture9 *texture; int x; int y; string name;public: cPlayer(){ } cPlayer(IDirect3DDevice9 *device,string filename){ D3DXCreateSprite(device,&sprite); D3DXCreateTextureFromFile(device,filename.c_str(),&texture); x = 0; y = 0; name = "Default"; } cPlayer(IDirect3DDevice9 *device,string filename,string newname){ D3DXCreateSprite(device,&sprite); D3DXCreateTextureFromFile(device,filename.c_str(),&texture); x = 0; y = 0; name = newname; } void setUp(IDirect3DDevice9* device){ D3DXCreateSprite(device,&sprite); D3DXCreateTextureFromFile(device,"default.bmp",&texture); x = 0; y = 0; name = "Default"; } ID3DXSprite* getsprite(){ return sprite; } IDirect3DTexture9* gettexture(){ return texture; } void draw(){ sprite->Begin(); sprite->Draw(texture,NULL,NULL,NULL,NULL,NULL,NULL); sprite->End(); }};#endif
.cpp
#include<d3d9.h>#include<d3dx9.h>#include"main.h"#pragma comment(lib,"d3d9.lib")#pragma comment(lib,"d3dx9.lib")IDirect3D9 *pd3d;IDirect3DDevice9 *pdevice;bool done = false;cPlayer player1;void initD3D(HWND hwnd){ pd3d = Direct3DCreate9(D3D_SDK_VERSION); D3DDISPLAYMODE displaymode; pd3d->GetAdapterDisplayMode(D3DADAPTER_DEFAULT,&displaymode); D3DPRESENT_PARAMETERS params; ZeroMemory(¶ms,sizeof(params)); params.BackBufferHeight = 500; params.BackBufferWidth = 500; params.SwapEffect = D3DSWAPEFFECT_DISCARD; params.Windowed = true; params.BackBufferFormat = displaymode.Format; pd3d->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hwnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,¶ms,&pdevice);}void render(){ D3DXMATRIX matWorld; D3DXMatrixIdentity(&matWorld); pdevice->SetTransform(D3DTS_WORLD,&matWorld); D3DXMATRIX matView; D3DXMatrixIdentity(&matView); D3DXMatrixLookAtLH(&matView, &D3DXVECTOR3(0,0,-50), &D3DXVECTOR3(0,0,0),&D3DXVECTOR3(0,1,0)); pdevice->SetTransform(D3DTS_VIEW,&matView); D3DXMATRIX matProj; D3DXMatrixIdentity(&matProj); D3DXMatrixPerspectiveFovLH(&matProj,D3DX_PI/4,GetSystemMetrics(SM_CXSCREEN)/GetSystemMetrics(SM_CYSCREEN),1,1000); pdevice->SetTransform(D3DTS_PROJECTION,&matProj); pdevice->Clear(0,NULL,D3DCLEAR_TARGET,RGB(0,0,0),1,0); pdevice->BeginScene(); player1.getsprite()->Begin(); player1.getsprite()->Draw(player1.gettexture(),NULL,NULL,NULL,NULL,NULL,NULL); player1.getsprite()->End(); pdevice->EndScene(); pdevice->Present(NULL,NULL,NULL,NULL);}void shutdownD3D(){ if(pd3d) pd3d->Release(); if(pdevice) pdevice->Release();}LRESULT CALLBACK WndProc(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam){ switch(iMsg){ case WM_DESTROY: PostQuitMessage(0); done = true; break; case WM_KEYDOWN: switch(wParam){ case VK_ESCAPE: PostQuitMessage(0); done = true; break; } break; } return DefWindowProc(hwnd,iMsg,wParam,lParam);}int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hpInstance,PSTR cmdLine,int iCmd){ WNDCLASS wc; ZeroMemory(&wc,sizeof(wc)); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.hCursor = LoadCursor(NULL,IDC_ARROW); wc.hIcon = LoadIcon(NULL,IDI_APPLICATION); wc.hInstance = hInstance; wc.lpfnWndProc = WndProc; wc.lpszClassName = "class"; wc.lpszMenuName = NULL; wc.style = CS_VREDRAW|CS_HREDRAW; RegisterClass(&wc); HWND hwnd = CreateWindow("class","",WS_OVERLAPPEDWINDOW,0,0, 500,500,NULL,NULL,hInstance,NULL); initD3D(hwnd); player1.setUp(pdevice); ShowWindow(hwnd,iCmd); UpdateWindow(hwnd); MSG msg; while(!done){ if(PeekMessage(&msg,NULL,0,0,PM_REMOVE)){ TranslateMessage(&msg); DispatchMessage(&msg); } else{ render(); } } shutdownD3D(); return 0;}
Thanks,
Cory
Favorite Quotes:Gandalf: You cannot pass!|Smeagol: We don't need you!|Sloth: Hey you guys!|