作者Jedic (真诚的勇者)
看板Flash
标题Re: [问题] 请问各位高手~拼图游戏验证是否拼对ꨠ…
时间Mon Nov 1 16:31:57 2004
※ 引述《fourmonth (寻找工作中的乐趣)》之铭言:
: 可以给点提示吗?
: 看书有教怎麽拖曳和配对~
: 可是没有验证是否拼对的部分?
: 不知是否有高手可以提供一下讯息的阿!
举例
9片的拼图
一一一一一一一一一一一
| | | |
| 1 | 2 | 3 |
一一一一一一一一一一一
| | | |
| 4 | 5 | 6 |
一一一一一一一一一一一
| | | |
| 7 | 8 | 9 |
一一一一一一一一一一一
若拼图边长为120x90
又拼图编号为i
此时拼图的座标代数式为 (假定以中心点对齐、拖曳)
_x=20+((i-1)%3)x40
_y=15+int((i-1)/3)x30
拼图编号则存成一个阵列
这是技巧之一,用於初始乱排拼图和比对正确与否
通常会抓正确座标上下左右的一个范围就算答对
然後自动吸附
拖曳技巧就不用说了吧
拖曳和放下时读取和送出编号就好了
如果是更高级的两块拼图合对时,会先集合在一起
那就是把原本一维的阵列改成二维阵列
一维阵列的子阵列存入的是相邻拼图的编号
但是起初是0
例如
[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],.....]
第一个零用来表示有无相邻拼图吸附
以免每次都要检查子阵列每项是否为0
当拼图在拖曳->放下之後的碰撞时
检查彼此编号是否符合座标排序规则
是则将编号存入子阵列正确索引位置并将第一项改写为1
稍微复杂,要用心体会罗
老板又骂我了...
--
宫本武藏的必胜心法:
一、诚心为思想之本。二、忘我以求道。三、遍习诸艺。
四、广涉百业之道。五、了解诸事的利弊得失。六、培养辨别事物的眼光。
七、洞悉肉眼不可见之事。八、留心细节小事。九、不做无功效之事。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.66.87.212
1F:推 accordingto:神 61.218.51.174 11/02