作者BSpowerx (B.S)
看板GameDesign
标题Re: [游戏] 自制游戏 - 只有神知道的洛克人
时间Wed Aug 29 23:32:01 2012
※ 引述《yoll522 (522)》之铭言:
: 原文怒删
: 不好意思,我最近也在用SDL开发横向卷轴,
: 有几点问题想请问一下,谢谢
: 1.请问你游戏在执行的时候是如何不让CMD视窗跑出来的?
lazyfoo第一课XD
我是用Code::Blocks 其他IDE我不清楚
就把Project/targets options里面的Build targets里面的Type改成GUI application
然後编译的时候选择release 而不是Debug模
: 2.请问你游戏是如何做到可以让画面X1跟X2?图片是如何跟着等比例放大跟缩小的?
可以参考lazyfoo第31课,
这一课有教你怎麽自己写程式将图片水平翻转。
稍微改一下这部份的程式,改成将图片变大两倍就行
总之SDL似乎没有内建图片放大(缩小)功能,
因此必须自己去写。
毕竟图片放大缩小时,会根据你演算法的不同产生很大的差异
总之就自己读图档 -> 写程式将他放大 -> 将放大的图拿来用
: 3.请问你游戏的被攻击以及攻击别人是如何判断『击中』的?
Lazyfoo第17课,这边基本上就讲了碰撞的判断基础
一般习惯上、即使是不规则的图形也当成一个正方形来判定(比较省资源)
於是用几个回圈去扫描所有的物件,
判断彼此之间有没有碰撞。
虽然不是没有比较快的演算法(用O(N log(N))去排序再扫描之类 )
不过太麻烦了XD 直接全部扫过一次比较快。
场地上有20个物件会彼此碰撞就扫20*19次
: 不好意思问题有点多@@
: 还希望可以指教一些,谢谢
--
▄▄ ▄
▄██▄▄ ▄ ▄▄▄▄ ▄▄▄ ▄ ▄ ▄ ▄ ▄
▄▄ ▄▄▄ ▄ ________ ▄ ▄ ▄ ▄ ▄▄▄
▄▄ ▄▄▄ █
▄ (Nintendo) ▄▄ ▄ ▄ ▄ ▄
▄▄▄▄ ▄▄ ▄  ̄ ̄ ̄ ̄ ▄▄▄ ▄▄▄▄ ▄
▄▄▄▄▄▄
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.195.144.7
1F:推 cooper6334:3我都当作圆形用距离vs半径判断,这样会比较吃资源吗? 08/30 00:00
2F:推 Bencrie:其实 gcc 系的 linker 参数加上 -mwindows 就可以去掉 08/30 00:02
3F:→ Bencrie:cmd 视窗了。 08/30 00:02
4F:→ BSpowerx:圆形也可以,看游戏需求吧。我纳款游戏也有部份攻击是用 08/30 00:08
5F:→ BSpowerx:圆形作判定 08/30 00:08
6F:推 Bencrie:拿掉 sqrt 会快一点 XD 08/30 00:09
7F:推 cooper6334:当然不是开根号求实际距离,而是把半径和平方阿XDDDD 08/30 00:10
8F:推 yoll522:感谢解答,我那时就想说要参考教学说的正方形判断 08/30 00:26
9F:→ yoll522:就是担心说要判断的正方形太多,程式会lag@@ 08/30 00:27
10F:→ yoll522:翻转那课我有学到,可是它里面有教到放大吗 08/30 00:27
11F:→ yoll522:还是这是你额外自己想的? 08/30 00:28
12F:推 Bencrie:放大 bilinear interpolation 就很好用了 @@a 08/30 00:30
13F:推 yoll522:不好意思,我想在请问一个问题,如果一个地板有斜坡 08/30 00:52
14F:→ yoll522:然後我是打算用一个私底下的地图判断来做移动路径 08/30 00:52
16F:→ yoll522:人物移动在画面显示是右边的图,实际上判断是左边那个 08/30 00:53
17F:→ yoll522:那请问sdl有那种『判断是否是什麽颜色』这样吗? 08/30 00:53
18F:→ yoll522:这样我就可以写说『如果前面有黑色,则人物y上升』 08/30 00:53
19F:→ yoll522:谢谢 08/30 00:54
20F:推 juicefish:套句我们老师以前说的「先有功能,再考虑效能」 08/30 12:05
21F:→ juicefish:我想Lag问题不是你这个阶段要考虑的 08/30 12:06
22F:→ BSpowerx:Lazyfoo 18课有教针对图形像素去作的碰撞判断 08/30 12:13
23F:推 yoll522:18课教的不是每个像素的碰撞吗? 因为我是想说能不能判断 08/30 13:00
24F:→ yoll522:主角的底部踩到的是不是黑色 08/30 13:00
25F:→ BSpowerx:就改成判断主角脚部的像素碰到的像素是不是黑的就是啦~ 08/30 14:19
26F:→ BSpowerx:我自己是没写过啦XD 看你的应用力了 08/30 14:20
27F:推 yoll522:好的,谢谢你的帮忙 08/30 16:55
28F:→ damody:lag问题是 写程式的人在考虑的 09/03 04:27