| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 947 人关注过本帖
标题:一个关于c++游戏的问题(急需解答啊)
只看楼主 加入收藏
a793966356
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-8-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
一个关于c++游戏的问题(急需解答啊)
小弟是个初学c++的菜鸟,很想由编2D小游戏入手,只要能用键盘控制移动,与敌人碰触发生计算就行了(如果血变为0,敌人就消失),小弟有几个疑惑:
1.如何把我希望的角色放入窗体中?是不是必须要像VB一样先见个控件(如按钮),再用这个控件显示人物图像。。。
2.在学VB时就一直有这个问题:如何始终让角色面朝前进方向?我以前一直是预先画4个人物方向(4张图像),再用IF判断,可我见网上有人能将4个方向花在一张图上,很是兴奋(果然是菜鸟),就是不知道是怎么弄得,难倒是用剪切?
3.角色怎么和敌人碰触的问题,以前用VB就只能是方块碰方块,必须判断2个方块横纵坐标,感觉很麻烦,更重要的是碰触的是方块,而不是我画的角色本身,不知有没有更精准的方法,算法更方便。
4.这个就很郁闷人了,如何让敌人能探知一个范围内否有人,并知道是自己人还是敌人。
问题有点多,高手们,就看你们的了!我是个彻头彻尾的菜鸟,也不知道这些问题是什么难度,我以前有学过VB就是仅过2级的水平,都是自学的,登不得大雅,有幼稚的地方见笑了
搜索更多相关主题的帖子: 解答 游戏 
2009-08-03 11:46
tinjp
Rank: 5Rank: 5
等 级:职业侠客
帖 子:52
专家分:340
注 册:2006-11-4
收藏
得分:10 
1.游戏一般是纯代码的,角色是通过代码读取角色图片画到窗体上,不用控件。
2.基本上相关的图片都是花在一张图上的,通过切割取得不同的部分,除了游戏,像winamp这类支持换肤的程序也是这样的。
3.更精准的我也不知道,最方便的就是方块碰方块了。
4.可以通过二维数组。
2009-08-03 12:36
wangboa123
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:72
专家分:129
注 册:2009-2-13
收藏
得分:10 
1 2 问题楼上已说明
3 4 并不是语言的问题,而是算法的问题,
针对3,判断都必须是方块对方块,但是你可以把方块缩小,一个人物的头部,身体,胳膊,腿都是有几个小方块组成,这样判断就会准确很多,但是算法复杂,计算量大,建议楼主,如果初学,只是做起来玩玩的话,直接用方块碰方块就行啦
4 将人物建成一个类,类里面包含属性即可(属性是敌我),找到任务,判断属性即可
2009-08-05 14:18
utopialxw
Rank: 2
等 级:论坛游民
帖 子:3
专家分:14
注 册:2009-8-5
收藏
得分:0 
3楼的正解
在类里设置就可以了
我也写了个大富翁的游戏
不过烂的自己都不想玩
太单调了
还得学CS
2009-08-05 16:05
a793966356
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-8-3
收藏
得分:0 
学到了。。。。。。。
2009-08-05 16:09
苏泽
Rank: 1
等 级:新手上路
帖 子:7
专家分:7
注 册:2009-8-5
收藏
得分:0 
1. 新建一个WIN32程序,用GDI中的一个LOADBITMAP函数

2. 显示器左上角的X,Y值都是为0,你先设定它的位置,然后让它X或Y ++。 GDI中,读取图片,是按图片的相素大小来算的。你可以按图片的宽高以及图片中的人物有几个来判断一张图片有多高,多宽。
 
3.碰撞的话。就是两张图片它们的X值,Y值之差若小于它们的本身图片宽高之和时,就断定它们是相交了。


4.第四个,就难说了。

我说得很笼统。
不好意思。
2009-08-05 22:18
a793966356
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-8-3
收藏
得分:0 
谢谢,你说的对我有启发
2009-08-06 09:53
wzla333
Rank: 4
来 自:火星
等 级:业余侠客
威 望:2
帖 子:185
专家分:237
注 册:2006-8-24
收藏
得分:0 
1.如何把我希望的角色放入窗体中?是不是必须要像VB一样先见个控件(如按钮),再用这个控件显示人物图像。。。
不用 楼上已经解答


2.在学VB时就一直有这个问题:如何始终让角色面朝前进方向?我以前一直是预先画4个人物方向(4张图像),再用IF判断,可我见网上有人能将4个方向花在一张图上,很是兴奋(果然是菜鸟),就是不知道是怎么弄得,难倒是用剪切?

恩 就是用的剪切 你应该听说过pictureclip控件吧。 意思差不多 就是图片按照坐标问题。如果一个动作图片太多的话 可以考虑GIF 这些类的图片。


3.角色怎么和敌人碰触的问题,以前用VB就只能是方块碰方块,必须判断2个方块横纵坐标,感觉很麻烦,更重要的是碰触的是方块,而不是我画的角色本身,不知有没有更精准的方法,算法更方便。

参照游戏编程书里的碰撞检测 如果不需要太高细节的话 可以用AABB的方式 或者圆形检测。。


4.这个就很郁闷人了,如何让敌人能探知一个范围内否有人,并知道是自己人还是敌人。
问题有点多,高手们,就看你们的了!我是个彻头彻尾的菜鸟,也不知道这些问题是什么难度,我以前有学过VB就是仅过2级的水平,都是自学的,登不得大雅,有幼稚的地方见笑了

AI是游戏里非常重要的一部分 智能化 首先要引用思想概念  首先移动前先判断 是该做什么  例如

一个智能很高的NPC  根据自己的  数值来判断(例如当前天气,NPC的性格,角色状态,幸运程度等 这些隐含数值)--》是否可以靠近——》判断猪脚位置——》检测障碍物——》移动——》碰撞触发战斗


我从来都非常缺少朋友,因为自己不善于表达,无论是工作,学习,生活,抑或是网络...ACG爱好者,标准一个无限接近30岁的大叔......
2009-08-08 11:51
wzla333
Rank: 4
来 自:火星
等 级:业余侠客
威 望:2
帖 子:185
专家分:237
注 册:2006-8-24
收藏
得分:0 
至于如何判断区域 可以用圆形检测。也属于碰撞方式 。检测是敌是友 可以用编号来解决 猪脚编号为1 其他类型编号为2

我从来都非常缺少朋友,因为自己不善于表达,无论是工作,学习,生活,抑或是网络...ACG爱好者,标准一个无限接近30岁的大叔......
2009-08-08 11:54
a793966356
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-8-3
收藏
得分:0 
谢谢
2009-08-10 10:55
快速回复:一个关于c++游戏的问题(急需解答啊)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018536 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved