网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月19日漏签0天
c#吧 关注:188,689贴子:824,059
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 下一页 尾页
  • 31回复贴,共2页
  • ,跳到 页  
<<返回c#吧
>0< 加载中...

问问XNA的高手……这个砖块该怎么写

  • 只看楼主
  • 收藏

  • 回复
  • h1398123
  • c#牛人
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

下面的砖块都没问,加入我要加入一个悬空的砖块,让player跳上去,该怎么写碰撞检测的代码,求高手思路,我用的是官方例子的图片,代码自己写的。人物可以跳跃行走,地板的每个砖块检测是这样,当player与地板砖发生碰撞时修改player的坐标,但是悬空的砖块该如何写才能,让他各种撞……从上至下, 或者跳不上……


  • h1398123
  • c#牛人
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼



2025-12-19 20:12:54
广告
不感兴趣
开通SVIP免广告
  • h1398123
  • c#牛人
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

人物从侧面装上去和直接跳上去或者跳不上去的碰撞检测思路……


  • h1398123
  • c#牛人
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
高手在哪里……
求指导……
求点拨……


  • jewer3330
  • c#大菜鸟
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
源码呢,我们一起学习


  • yinhe726
  • c#求知者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这么简单的东西需要高手吗?
即使你不用XNA自带的碰撞检测方法,自己写两个巨型Y坐标是否交叉就可以了。亏你还大呼高手。。- -


  • Crazy灬星星
  • c#码农
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
貌似可以利用砖块的坐标和砖块的长度。


  • Crazy灬星星
  • c#码农
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主,代码可以看下吗!?可以的话发邮箱736169136@qq.com


2025-12-19 20:06:54
广告
不感兴趣
开通SVIP免广告
  • Crazy灬星星
  • c#码农
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主,可以看下源码吗!? 可以的话发我邮箱736169136@qq.com谢谢!


  • yinhe726
  • c#求知者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
写个简单的示例:
List<障碍物列表> ABC = new List<...>();
Update()
{
foreach( 障碍物 in ABC ){
if( 人物 与 障碍物 包围盒碰撞)
{
....
}
}
}


  • h1398123
  • c#牛人
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
那么这样,假如这个空中砖块是悬空的,那么就有几种碰撞的情况,1.从下往上,那么跳不上去和穿墙。2.从左至右,这里还分为了两张情况:装在墙上和跳上去。3.从右至左,同第二中情况。4.从上至下,这里我已经完成了就不说了。因为XNA提供的碰撞检测是检测两个图形是否相交。
我们就以一个悬空砖块为例,假设,我从左边跳上去,跳上去,碰撞检测程序返回了true,即碰撞,我该怎么写响应程序,我的思路,是首先检测人物的Y坐标+人物的身高是否高过了悬空砖块的Y坐标,这里分为两种情况,1、高过,那么他就跳上去了,然后程序同从上到下。2、没高过,那么他就没有跳上去。如果是第二个情况的话,还要在检测人物的X坐标,看看人物的X坐标是否大于或者小于砖块的X坐标+砖块的一半宽width/2。如果小于,那么证明他在砖块的左边,然后因为没有跳上去,那么人物的X坐标<砖块的X。如果大于,则证明他在砖块的右边,
那么人物的X坐标>砖块的X。(重力函数一直生效,那么人物会自动掉下去……)


  • 止境
  • c#大师
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
没开发过游戏、


  • jimmyfluore
  • c#求知者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这样,屏幕上有两个地面物体,一个是整个地面,一个是空中的那个砖块。你的人物有一个水平速度和一个垂直速度。随时你的人物速度加上重力。你的控制会影响加速度。x,y分别计算,如果你的人物位置加上速度不挨着物体的话,你的人物位置加上速度,否则速度等于零,位置等于碰撞边界。


  • yinhe726
  • c#求知者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
上面不是说了吧,一种方法是自己写四个方向的坐标检测,另一种方法是XNA的包围盒碰撞检测,这个包围盒本身自带了四个方向的。两个包围盒任何方向发生交集都会返回状态通知。


2025-12-19 20:00:54
广告
不感兴趣
开通SVIP免广告
  • JJ洒了嘿有
  • c#求知者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
什么啊?


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 31回复贴,共2页
  • ,跳到 页  
<<返回c#吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示