查看文章
 
拼图游戏
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;
    }
}


这个接口整个原型对外的接口
然后开始架构:
拼图板实现接口IBoard
拼图板由多个ICell组成,小切片BoardCell实现该接口用来组成拼图板
BlankCell是空白切片,它是特殊图片切片,继承自BoardCell

最后用Model类来新建一个Board并把该接口暴露给js调用
把model编译成swf后便可使用as以及js控制了
使用大切片:
更换底图:

类别:Flash||添加到搜藏 |分享到i贴吧|浏览(498)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu