查看文章 |
拼图游戏
2008年09月04日 星期四 17:07
昨天写了个拼图游戏 呵呵 还顺便把看射雕的进度推进到31集 正在风风火火地看胡歌版 刚开始看还有点不习惯 不过慢慢就好了 特别是里面的打斗很炫 呵呵 想起83版 打起来就想现在看真人擂台 看不到一点内力啊 这个版本可不一样啊 小小招式 内力颜色可多啦 哈哈 喜欢 喜欢 还是言归正传到拼图游戏吧 记录下这个游戏的感触吧 首先当然是要明白到要做什么,要做成什么样的? 我的想法是要把这个游戏做成一个原型,一个公用的 然后是,这个原型提供哪些接口? 基本接口:底图、切片边长 扩展接口:难度系数、自动完成、重新布局、重新开始、返回移动步骤等等 于是有了一个接口: package com.sogou.combine { import flash.geom.Rectangle; public interface IBoard { /** * 设置拼图底图拼接区域 * * @param rec * */ function set area(rec:Rectangle):void; function get area():Rectangle; /** * 设置拼图地图 * * <p>可是一个图片url地址,或BitmapData对象</p> * @param image * */ function set source(image:Object):void; function get source():Object; /** * 设置图片拼接小块边长 * @param len * */ function set borderLenght(len:uint):void; function get borderLenght():uint; /** * 重新设置拼图板 * * @param difficulty 难度系数,1-100 * */ function relayout(difficulty:Number = 50):void; /** * 还原拼图板初始状态 * */ function reset():void; /** * 获取用户操作步骤数目 * * @return * */ function get steps():uint; /** * 返回操作 * * @param steps * */ function goBack(steps:uint):void; /** * 自动拼接 * */ function autoCombine():void; /** * 检查是否已拼图完成 * * @return * */ function isOK():Boolean; } } 这个接口整个原型对外的接口 然后开始架构: ![]() 拼图板由多个ICell组成,小切片BoardCell实现该接口用来组成拼图板 BlankCell是空白切片,它是特殊图片切片,继承自BoardCell 最后用Model类来新建一个Board并把该接口暴露给js调用 把model编译成swf后便可使用as以及js控制了 ![]() ![]() ![]() |
最近读者:





