flash游戏吧 关注:9,482贴子:41,749

个人总结的做flash游戏的心得体会净化要领

只看楼主收藏回复

我自己的经验分享


IP属地:江苏1楼2013-11-08 20:35回复
    1
    在类文件里面写代码!
    而不是在动作,帧上面写代码。
    这在你做小游戏时,可能并没什么实际的区别,但是一旦你的游戏变得很大, 在动作,帧上面写代码会让你寸步难行


    IP属地:江苏2楼2013-11-08 20:37
    回复
      2
      一个游戏只有一个核心主函数
      通常我把游戏核心主函数命名为game()
      这个函数应该是一个enterframe或者setinterval的事件触发函数,你所有的游戏程序都在这个里面触发,这样你的游戏逻辑会非常的简明


      IP属地:江苏3楼2013-11-08 20:38
      回复
        3
        多个游戏频率要每一帧都执行,所以我们应该给一些动作更低的频率
        我举一个例子
        魔兽争霸的光环的有无
        判断方式是,计算场上每个生物的坐标值和有光环生物的坐标值关系,并且判断光环是否可以存在。如果场上有100个生物,就要判断几百次。如果每帧都执行,计算机会很累的。所以我们看到,魔兽的光环几十个一段时间才计算一次的。
        关于这个系统,我用的是一个简单的方法实现。
        private function game(e:Event):void
        {
        //moveCursor()
        if (pausegame == false)
        {
        turndefault();
        turnchar();
        turnmonster();
        checkmstdie();
        freq3++;
        freq4++;
        if (freq3 > 23)
        {
        Main.common.restorechar()
        freq3 = 0;
        }
        if (freq4 > 239)
        {
        Main.interfc.optionbd.autosave();
        freq4 = 0;
        }
        }
        weather.showweather();
        showstate();
        freq++;
        freq2++;
        if (freq > 9)
        {
        Main.interfc.charbd.refreshequip();
        Main.interfc.missionbd.refreshmission();
        freq = 0;
        for (var j:int = monster.length - 1; j >= 0; j--)
        {
        commonmst.action2(monster[j]);
        }
        }
        if (freq2 > 2)
        {
        freq2 = 0;
        interfc.charbd.showstattext();
        Main.common.tempeff(Main.common.tempeffert)
        if (interfc.bag.itemchange == true)
        {
        interfc.bag.bagchange();
        }
        showstate2();
        }
        }


        IP属地:江苏4楼2013-11-08 20:42
        收起回复
          4
          美工很重要!但是不要急着做
          美工很大程度上决定了别人爱不爱玩这个游戏,以及游戏的第一印象,所以刚开始设计的时候,一定要设计到最好,用最高的要求去设计规划美工
          但是不要急着画或者找素材,想好了但是不用急着动工,因为你的游戏制作过程中会变化很大的,最后在画龙点睛


          IP属地:江苏5楼2013-11-08 20:46
          回复
            5
            可以公共化的行为全都公共
            就是说可以合并的函数统统合并,不要重复写很多遍类似但是又不略微不同的函数。
            可以通过改变参数,或者this[“名称”] 等方法达到这个效果
            比如说一个怪物的攻击动作,他其实只有前摇 后摇 收手的时间不同,所以所有怪物的攻击动作可以用同一个函数来执行


            IP属地:江苏7楼2013-11-08 20:49
            回复
              6
              时刻备份你的整个游戏
              包括你的素材和所有的类文件,fla文件等等
              重要性其实是最高的


              IP属地:江苏8楼2013-11-08 20:50
              回复
                7
                游戏画面的分层
                一个游戏主界面上最重要的,就是建立好分层的结构。
                比如说一个游戏有以下几个层
                界面interface 特效specialeff 角色char 敌人enemy 背景bg
                我用的方法是
                在场景上建议这5个图层,在文档类里面在每个图层添加一个Sprite,作为这个层所有内容的容器。
                比如这样
                layerevm.addChild(weather);
                layereff.addChild(effert);
                layeritf.addChild(interfc);
                layerchr.addChild(foritem);
                layerchr.addChild(foritemtext);
                layerscn.addChild(scenebase);
                layermst.addChild(formst);
                layeritr.addChild(fornpc);
                layerobj.addChild(forobj);


                IP属地:江苏10楼2013-11-09 02:37
                收起回复
                  8
                  游戏策划的数据一定要留有余地,函数的数据范围要大气,以便后期扩大数据量时的方便
                  比如我的策划里面有150个物品,物品id从0~149 那么我的策划里最好也要留到至少999号物品,以防止之后要添加新的物品。我的函数也不要以150作为物品id最大的可能值。
                  又比如一些变量,即使一定是非负整数,也尽量用int而不是uint,因为很可能什么时候就需要负数了,而且uint很容易出错,也不必int节约内存。


                  IP属地:江苏11楼2013-11-09 02:45
                  收起回复
                    9
                    要有自己的风格
                    较大的游戏应该体现一种艺术风格,我觉得可以弘扬自己的想法,创意,也可以弘扬中国华夏文化,或者是一些有文化渊源的东西,我不是很赞成一些没有历史依据,起一些类似外国音译过来的名字的,类似西方魔幻风格但是又没有内涵的风格。


                    IP属地:江苏12楼2013-11-09 02:48
                    回复
                      mark


                      IP属地:辽宁来自Android客户端13楼2013-11-09 23:46
                      回复
                        楼主有现成的flash游戏文件吗,实训要用,跪求啊


                        IP属地:江苏14楼2013-11-18 18:48
                        回复
                          好贴,加精!


                          IP属地:河南15楼2013-11-23 01:10
                          收起回复
                            有经验的过来人呀!


                            IP属地:湖南16楼2013-11-23 16:51
                            回复
                              赞一个~


                              17楼2013-11-23 19:37
                              回复