游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2217|回复: 2

[DirectX]求助!如何让摄像机"不前进"!

[复制链接]

4

主题

8

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2012-8-11 22:27:00 | 显示全部楼层 |阅读模式
程序是一个第一人称摄像机,并且在摄像机周围有哪些地方是被墙挡住了已经知道了,那么这时候要怎么控制摄像机"不前进"?就是当玩家前方是墙的时候不让他继续前进。
感觉不能很难的问题就是想不出来,求各位大神帮帮忙!
        if( gDInput->keyDown(DIK_W) )
        {
                dir += forward;
        }
        if( gDInput->keyDown(DIK_S) )
        {
                dir -= forward;
        }
        if( gDInput->keyDown(DIK_D) )
        {
                dir += mRightW;
        }
        if( gDInput->keyDown(DIK_A) )
        {
                dir -= mRightW;
        }
以上是程序控制部分,forward代表前进方向,mRightW表示左右偏移量,dir是由鼠标控制的一个向量,不知是否在这做修改

11

主题

95

帖子

658

积分

高级会员

Rank: 4

积分
658
发表于 2012-8-12 09:21:00 | 显示全部楼层

Re:[DirectX]求助!如何让摄像机"不前进"!

那就涉及碰撞检测了!

4

主题

8

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2012-8-12 12:08:00 | 显示全部楼层

Re: Re:[DirectX]求助!如何让摄像机"不前进"!

秋风扫走廊: Re:[DirectX]求助!如何让摄像机"不前进"!

那就涉及碰撞检测了!

解决了。。不是碰撞检测的问题,我是想问怎么操作摄像机。。因为是第一人称有左移右移的情况所以比较麻烦点,碰撞检测一开始就做好了的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-27 20:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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