作者allenwang15 (艾伦王十五)
看板Flash
标题[问题] 关於2D动作游戏的疑问
时间Tue Mar 18 09:36:00 2014
大家好
小弟在版上发过几次文问过一些问题
Flash也用了好一段时间,不过发现自己程式还是写得很没架构
版上的大大们讨论最新的技术跟引擎都很热络,虽然我都看不太懂0.0
只能说深感佩服
题外话完了,想请教一些问题
我想做一个2D卷轴动作游戏
不过尤其是攻击的部分,大家的碰撞都是怎麽写的
我的做法是,在攻击动画中挥刀的动作,会放入一个透明的MovieClip
来当作碰撞判定的物件,然後敌人都会被存在一个Sprite中
游戏会不断用判断透明的碰撞物件是不是跟Sprite中的其中一怪碰撞
但是不知道是不是这样做法不好,有时候明明砍到怪物却没事
有时候又砍得到,难道是挥刀时间太短(透明碰撞物件出现两个影格左右),
所以造成判断来不及吗? 但感觉不太可能......
另外,大家在做这类游戏时,判定都是怎麽写得呢?
我的意思是想问,比如说主角、怪物、武器、魔法、队友这些物件
在场上碰撞来碰撞去,还是要用回圈处理所有物件吗?
每一个子弹都用回圈去侦测是否跟场上的所有物件有没有碰撞这样?
还有,让我最纳闷的就是,如果游戏地图很大,通常都会将地图分块
然後角色靠近再动态产生,这样比较不耗效能,但是如果场地上有怪物
主角离开後,场地消失,怪物就会摔下去。这问题一直都蛮困扰我的0.0
不知道这问题大家都是如何解决的。
问了超多问题,烦请高手帮忙解答了
而且我自己这样一问,感觉自己应该多念念游戏架构之类的书0.0
然後我觉得我想来学个Box2D,根本没玩过任何引擎...
--
Allen Wang's Blog
http://allenwang15.pixnet.net/blog
个人部落格 里面主要放自己的短篇漫画相关作品
有兴趣可以来看看
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.24.28.126
2F:→ allenwang15:是说把碰撞物件存在的时间拉长似乎就可以了 03/18 10:49
3F:推 KawasumiMai:1.可能看你要用哪个视点去处理?例如子弹视点跟怪物 03/18 12:00
4F:→ KawasumiMai:视点?前者是子弹判定有没有撞到怪物,後者是怪物判定 03/18 12:00
5F:→ KawasumiMai:有没有被子弹打到。 03/18 12:01
6F:→ KawasumiMai:2.以场景来说篓空的物件可以判定穿透,所以可以同图层 03/18 12:01
7F:→ KawasumiMai:先判定是否有碰撞再看碰撞哪一个子物件? 03/18 12:02
8F:→ KawasumiMai:例如先判定是否打到怪物layer再看打到哪个怪物减少判 03/18 12:02
9F:→ KawasumiMai:定频繁度 03/18 12:02
10F:→ KawasumiMai:3.场景既然使用动态生成,那麽场景不存在的区域是否也 03/18 12:02
11F:→ KawasumiMai:该让怪物的重力反应先停掉呢? 03/18 12:03
12F:→ KawasumiMai:4.承3,既然这样,子弹判定的怪物应该只有萤幕周围一 03/18 12:03
13F:→ KawasumiMai:段距离内的怪物吧?不用判定所有怪物才对 03/18 12:03
14F:→ allenwang15:感谢K大热心回应 03/18 12:19
1的话,我知道原理,只是想知道大家普遍用哪种,不过我想也是看游戏内容
3,我想说让怪物仍然在场上做自己的事情,所以才不停掉他的动作
※ 编辑: allenwang15 来自: 163.24.28.126 (03/18 12:39)
15F:推 KawasumiMai:但是怪物既然也是使用重力+碰撞去决定贴地,那麽就不 03/18 13:50
16F:→ KawasumiMai:可能场景移除还能悬空,萤幕外一段距离後怪物应该没必 03/18 13:51
17F:→ KawasumiMai:要维持AI?这点就算是考虑重生也是差不多的想法吧? 03/18 13:51
18F:→ KawasumiMai:你会注意到很多游戏只要怪物只要在萤幕内外进进出出 03/18 13:52
19F:→ KawasumiMai:就会一直以同样的位置和初始动作Reset 03/18 13:52
20F:推 iverson007:2D+横向卷轴+物理=Citrus Engine(Starling Framework) 03/30 02:13