游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1669|回复: 1

载入两个x文件,显示后需要放大其中一个该如何实现!!

[复制链接]

6

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2010-12-27 16:06:00 | 显示全部楼层 |阅读模式
代码如下
//载入x文件
             ..........................
                D3DXMATRIX V;
                TheCamera.getViewMatrix(&V);
                D3DXMatrixScaling(&V,0.001,0.001,0.001);//切换x文件的大小
                ID3DXMesh* LD = 0;
                D3DXVECTOR3 LDPosition(0.0f, 0.0f, 0.0f);
                D3DMATERIAL9 LDMtrl = d3d::YELLOW_MTRL;
       
                static float radius = 50.0f;

                if( ::GetAsyncKeyState(VK_LEFT) & 0x8000f )
                        LDPosition.x -= 3000.0f * timeDelta;
                if( ::GetAsyncKeyState(VK_RIGHT) & 0x8000f )
                        LDPosition.x += 3000.0f * timeDelta;
                if( ::GetAsyncKeyState(VK_UP) & 0x8000f )
                        radius -= 2.0f * timeDelta;
                if( ::GetAsyncKeyState(VK_DOWN) & 0x8000f )
                        radius += 2.0f * timeDelta;
                static float angle = (3.0f * D3DX_PI) / 2.0f;       
                if( ::GetAsyncKeyState('A') & 0x8000f )
                        angle -= 0.5f * timeDelta;
                if( ::GetAsyncKeyState('S') & 0x8000f )
                        angle += 0.5f * timeDelta;
                D3DXVECTOR3 position( cosf(angle) * radius * 50, 1500.0f, sinf(angle) * radius * 50 );                 D3DXVECTOR3 target(250.0f, 250.0f, 250.0f);
                D3DXVECTOR3 up(0.0f, 1.0f, 0.0f);       
                D3DXMatrixLookAtLH(&V, &position, &target, &up);

                D3DXMATRIX World = V;
                Device->SetTransform(D3DTS_VIEW, &World);

                //
                // Render
                //
                Device->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x00000000, 1.0f, 0);
                Device->BeginScene();
       
                for(int i = 0; i < Mtrls.size(); i++)
                {
                        Device->SetMaterial( &Mtrls );
                        Device->SetTexture(0, Textures);
                        Mesh->DrawSubset(i);                               
                }
        D3DXMATRIX   mat1;  
        D3DXMATRIX   curMatrix1;
        D3DXMatrixTranslation(&mat1,0.1,0,0);
        D3DXMatrixMultiply(&curMatrix1,&World,&mat1);   
        Device->SetTransform( D3DTS_WORLD, &curMatrix1 );
                for(int i = 0; i < Mtrls_Ladle.size(); i++)
                {
                        Device->SetMaterial( &Mtrls_Ladle );
                        Device->SetTexture(0, Textures_Ladle);
                        Mesh_Ladle->DrawSubset(i);
                }

               
                d3d:rawBasicScene(Device, 1.0f);
                Device->EndScene();
                Device-&gtresent(0, 0, 0, 0);

....................................

新手,请多多指教。

6

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
 楼主| 发表于 2010-12-28 16:21:00 | 显示全部楼层

Re:载入两个x文件,显示后需要放大其中一个该如何实现!

没人回答吗??~~~~~~~~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-3 05:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表