Codejie's C++ Space

Using C++

BoxCatcher : First Show


    经过长时间的,懒懒散散地紧张敲打,BoxCatcher的早期设想基本算实现了!做个小结,这样--放假就可以一直WOW了,哈哈。。。
    
    先上界面看看,(是的,这图片有点弱智,没法子啊,咱不会做图啊,只能直接google这几个png了。。。)



    左右两个截图分别是运行时模式和调试模式下的界面。可以看出调试模式下,有个三角形未贴图,那么在运行时就不可见了。

   如下显示,目前应用支持五种形状,即五个基本的‘元素’(Box), 相同的形状如果使用不同的贴图,则可以产生无数的‘物体’(BoxActor)。
    public enum BoxShape {
        RECTANGLE, CIRCLE, TRIANGLE, LINE, RIGHT_TRIANGLE
    }

    另外一个可以show下的是‘数据’系统。我们知道GAME多数都是分关卡(Stage)的,那么每个关卡都有自己的数据,如果为每个关卡都实现个界面,那就有点‘笨’了,因此在设计是,关卡的显示和数据是分开的(这个是必须的。。。)
    想着以前破解WOW数据的经历,就有了下面的数据表了。。。



    有人会像我这样写这些‘蛋疼’的SQL语句吗。。。没法子,谁叫咱有点‘轻微’的‘宏偏执’...

    private void createTables() throws SQLException {
        
        String sql 
= "CREATE TABLE IF NOT EXISTS " + TABLE_NAME_BOXES + " ("
                
+ TABLE_COLUMN_INDEX + " INTEGER PRIMARY KEY,"
                
+ TABLE_COLUMN_NAME + " TEXT," 
                
+ TABLE_COLUMN_RACE + " INTEGER,"
                
+ TABLE_COLUMN_TYPE + " INTEGER,"
                
+ TABLE_COLUMN_SHAPE + " INTEGER,"
//                + TABLE_COLUMN_X + " INTEGER,"
//                + TABLE_COLUMN_Y + " INTEGER,"
                + TABLE_COLUMN_WIDTH + " INTEGER,"
                
+ TABLE_COLUMN_HEIGHT + " INTEGER,"
                
+ TABLE_COLUMN_ANGLE + " REAL,"
                
+ TABLE_COLUMN_DENSITY + " REAL,"
                
+ TABLE_COLUMN_RESTITUTION + " REAL,"
                
+ TABLE_COLUMN_FRICTION + " REAL,"
                
+ TABLE_COLUMN_FILTERBITS + " INTEGER,"
                
+ TABLE_COLUMN_TEXTUREINDEX + " INTEGER,"
                
+ TABLE_COLUMN_ANIMATIONINDEX + " INTEGER"
                
+ ");";
        execSQL(sql);
        
        sql 
= "CREATE TABLE IF NOT EXISTS " + TABLE_NAME_STAGES + " ("
                
+ TABLE_COLUMN_INDEX + " INTEGER PRIMARY KEY,"
                
+ TABLE_COLUMN_TITLE + " TEXT,"
                
+ TABLE_COLUMN_MAXTIME + " INTEGER,"
                
+ TABLE_COLUMN_GRAVITY_X + " REAL,"
                
+ TABLE_COLUMN_GRAVITY_Y + " REAL"
                
+ ");";
        execSQL(sql);
        
        sql 
= "CREATE TABLE IF NOT EXISTS " + TABLE_NAME_STAGEBOX + " ("
                
+ TABLE_COLUMN_STAGEINDEX + " INTEGER,"
                
+ TABLE_COLUMN_BOXINDEX + " INTEGER,"
                
+ TABLE_COLUMN_X + " INTEGER,"
                
+ TABLE_COLUMN_Y + " INTEGER,"
                
+ TABLE_COLUMN_PRESENTTIME + " INTEGER"
                
+ ");";
        execSQL(sql);
        
    }

    刚敲好这个Demo,不多写了,下面是其中主要的一个类--BoxActor,其是用于处理显示每个物体的类,每个BoxActor都由一个具体的BoxActor实例处理。


<---- 问题分割线 ---->
    忽然想起,这里是cppblog.com,而这些都是JAVA代码,而且还是Android相关的。。。似乎有捣乱的嫌疑。。。原谅咱吧,谁叫咱就这一个blog呢。。。再说了,哪个敲字的,不会个百八十种语言呢,是吧?

    另外,libgdx真的好用,使得android的game写起来快了很多。。。

posted on 2012-04-01 14:25 codejie 阅读(1713) 评论(2)  编辑 收藏 引用 所属分类: BoxCatcher

评论

# re: BoxCatcher : First Show 2012-04-04 21:17 Wali

你这是个游戏还是物理引擎啥的啊????  回复  更多评论   

# re: BoxCatcher : First Show[未登录] 2012-04-04 22:40 codejie

@Wali
就是个游戏,引擎什么的,咱应该还没那个能力啊...  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


公告

Using C++

导航

统计

留言簿(73)

随笔分类(513)

积分与排名

最新评论

阅读排行榜

评论排行榜