吞食鱼吧 关注:4,108贴子:138,690

【火星注意】吞食鱼最新精简修改教程

只看楼主收藏回复

看到最近又有新同学跑到吧里,但是又不会修改,成天想问教程,于是俺打算在开学前赶紧把最基础的修改打了了事,顺便也火星一下rank与foodGoal的关系。(在我全部打完前请在楼中楼回复)
那么我们开始吧♂
首先,修改关卡在其次,最好就先在主界面下手,来看到下面文字:
<stage
title="Main Menu"
sizeUnit="20"
set="resource/backdrops/cave.xml"
night="true"
minLight="0.6"
gameMusic="DuelDark">
>
一,sizeUnit=“20”这个一般不用管,这是控制鱼大小比例的,数值大一点好像是全体鱼类体积都会按比例增大
而我们要修改set="resource/backdrops/cave.xml",我们只需要修改cave单词,在新创背景前,你可以尝试在backdrops文件夹中寻找你喜欢的背景的名称替换“cave”,如set="resource/backdrops/seaLab.xml"
二,night="true"这个表示是否开启夜晚模式,如果是则用true,否则用false,当然你翻译单词意思就明白了
三,minLight="0.6"为夜晚最小视野,一般可以偷懒不改(我就是)
四,gameMusic="DuelDark",这个音乐是我自行加入的,原版没有,你可以在别的关卡中找到适合的音乐替换
五,由于主界面没有主角鱼,所以在visual种类修改中可以随意在fishes中的鱼类进行修改替换
六,size翻译过来就是大小,当然它就是这个意思,size正常情况取0的有理数,如果你的size="1.0"可以简化成size="1"


IP属地:广东1楼2019-02-14 12:32回复
    自占二楼


    IP属地:广东2楼2019-02-14 12:32
    回复
      不过有一个问题是如果一个鱼的size大于另一个鱼的size,且两条鱼都没有写rank的话,那么会默认size大的鱼可以吃掉size小的鱼


      IP属地:广东4楼2019-02-14 13:11
      回复
        关卡修改
        七,rank的取值范围
        rank在关卡修改中起至关作用,有了它才有了大鱼吃小鱼,小鱼吃大鱼的效果
        进入关卡时,主角鱼的rank为0<x<1
        也就是说,主角鱼可以在一开始吃掉rank=0的鱼,会被rank=1的鱼吃掉,当然如果你吃够了规定的量,那么你就能晋级增大,rank变为1<x<2,就可以复仇了
        八,foodGoal与foodValue的关系
        foodGoal和foodValue可以理解为晋级所需营养值和一条小鱼的营养值
        设foodGoal为500,foodValue为25,则
        需要吃500/25=20条小鱼才能晋级到下一级
        另外提一点,如果你的第一阶段foodGoal="0"则可以直接跳到第二阶段,吃rank="1"的鱼
        而rank="1"的鱼又能吃rank="0"的鱼,就可以出现像吞1的虎鲸关卡中海鲂吃梭子鱼的现象


        IP属地:广东5楼2019-02-14 13:18
        回复
          @爱布拉娜·都柏林 @PATRICK200125
          预先申精


          IP属地:广东6楼2019-02-14 13:22
          回复
            来看到下面文字:
            <spawn class="AlienFish" visual="greatWhite" size="3.75" showMenu="true" location="side" behavior="GenericChase">
            <phase max="1" delay="0.3" />
            </spawn>
            上面我们已经较为详细的讲了主角鱼,foodGoal与foodValue,下面便是AI鱼
            "spawn class"表示鱼的属性,一般为"AIFish"或"Barracuda"。但是"Barracuda"需要在fishes文件里面给相应鱼种加入"tail"。如梭子鱼的:


            IP属地:广东7楼2019-02-14 13:31
            回复
              不好意思刚刚打太急按错,续上:


              IP属地:广东8楼2019-02-14 13:32
              回复
                <shape role="tail" class="box" center="199,51" diagonal="16,16" />
                其中class项与diagonal项并不需要管,重点是center,即尾巴标志中心,如果你想一次性确定尾巴位置请用【画图】方式打开actors里鱼种的图标,用鼠标指向你想要的位置,在下面找到(x,y)坐标即是游戏中的尾巴标志位置。
                如果你想不出现尾巴标志,即咬不了尾巴却有警告,你可以将坐标数值调的很大,如center="9999,9999",在正常游戏中基本就不会出现尾巴标志了。
                九,showMenu="true"的意义是是否在菜单中出现这条鱼,但是菜单的位置只允许出现四条鱼,过多的鱼就会忽略掉,所以你最好把几个阶段的几条鱼代表填上,同一阶段的鱼在菜单上只出现一条就够了。
                十,showStageComplete="false"的意义是关卡胜利后这条鱼是否出现在结束选单上,由于选单也是有限,所以尽量也要少选true,不然将会出现错误。数量尽量小于5


                IP属地:广东9楼2019-02-14 13:43
                回复
                  十一,行为模式behavior,指鱼的性格,一般以chase为后缀的行为为追击,就是咬着一条鱼不放。如MediumChase模式
                  还有flyby性格,就是从屏幕一边出来穿过背景从屏幕另一边穿走,这种性格的鱼不会转身,没有目标,只要你不作死都没事。如FlyByFish模式
                  第三种性格为wander性格,这种性格的鱼比较休闲似的,平时会缓慢无规则移动,有目标时会加速追击。
                  影响行为的重要属性除了性格意外就是喜闻乐见的速度了,修改速度在fishes文件中找到性格修改,如图性格1-1(图等会上)其中maxspeed指鱼的最大速度,而minspeed指鱼的最小速度。minSpeedX指水平移动速度,同理minSpeesY指垂直移动速度,你可以不写最小速度,也可以把x,y轴移动速度写成0,即此模式的鱼只做单向运动。
                  要注意的是sightAngle即视角,没什么人注意这个,如sightAngle=60意思是这个鱼能看到以眼睛为顶点,角度为60度角的范围,如果你在它后面,它就无法感知你并做出反应,如你在乌贼后面,它就不会向你喷墨


                  IP属地:广东来自Android客户端10楼2019-02-14 15:23
                  回复
                    十二,想不想做一条不怕水雷的鱼?对,就像入侵者一样,还自带Alart,那么我们看到下面文字
                    <fishModel name="alienAngler" anim="alienFish" menu="resource/HUD/menu/menu_alien" mouth="155,160" size="77" eatFrame="4" suckFrame="2" >
                    <shape role="body" class="box" center="256,128" diagonal="163,41" />
                    <shape role="mouth" class="box" center="136,185" diagonal="94,57" />
                    <shape role="head" class="circle" center="136,185" radius="65" />
                    <shape role="tail" class="box" center="478,38" diagonal="23,23" />
                    <shape role="suck" class="box" center="-50,161" diagonal="204,133" />
                    <anchor role="halo" location="160,42" />
                    <anchor role="idea" location="160,42" />
                    <anchor role="meter" location="324,182" />
                    <anchor role="glow" location="476,39" />
                    </fishModel>
                    其中你只要复制tail,suck,halo,idea,meter项即可,如果你希望它无法咬尾巴,你就把tail的坐标像以前那样调到9999,9999
                    如白鲨入侵者:
                    <fishModel name="greatWhite" anim="greatWhite" menu="resource/HUD/menu/menu_greatWhite" mouth="101,192" size="80" eatFrame="3" suckFrame="1" stunScale=".6">
                    <shape role="body" class="box" center="250,115" diagonal="192,73" />
                    <shape role="head" class="circle" center="136,185" radius="65" />
                    <shape role="mouth" class="box" center="84,149" diagonal="62,47" />
                    <shape role="tail" class="box" center="9999,9999" diagonal="0,0" />
                    <shape role="suck" class="box" center="-50,161" diagonal="204,133" />
                    <anchor role="halo" location="160,42" />
                    <anchor role="idea" location="160,42" />
                    <anchor role="meter" location="324,182" />
                    </fishModel>
                    顺便一提,如果没有tail项,就无法使用Barracuda模式,不然会崩溃,你加入了suck,halo,idea,meter项后,就可以使用alienFish模式,当然也可以用AIFish,Barracuda模式等。
                    比如你写下如下文字:
                    <spawn class="AlienFish" visual="sharkKing" rank="3" size="6.5" location="side" showMenu="false" showStageComplete="false" behavior="AlienFishBoss">时,这个sharkKing就会有入侵者的性质,即不会被水雷炸掉。
                    十三,下面就是喜闻乐见的改颜色了,看到下面文字:
                    <fishVisual name="alienFish" model="alienFish" colorEffect="rainbow" colorParams="90,1.0,0" />
                    fishVisual name是这条鱼的命名,在关卡制作中的visual项就写上alienFish,而后面的model即模型,指这是以外星鱼为模型,当然你可以复制原有的鱼,进行修改命名,颜色就可以了。
                    colorEffect是颜色模式,一般有hsvAdd,rainbow,rgbAdd三种,常用的为前两种,
                    (1)hsvAdd是最常用的,在colorParms中用255色光谱图来定色,即起点0为橘红色,255为紫色,尽量在第一项不要超过0-255这个范围,不然会成什么颜色我也不清楚也许是橘红色吧;
                    (2)rainbow翻译过来就是【彩虹】当然就是这个意思,采用rainbow颜色模式,不论colorParams的数值为什么,鱼都会是鲜艳的彩虹分调;
                    (3)rgbAdd一般用于改毒鱼的颜色,如:
                    colorEffect="rgbAdd" colorParams="-0.5,-0.1,-0.5" />。这个颜色对所有鱼都会是毒鱼的原谅色,我们设计一个毒鱼原谅色河豚pufferP,
                    代码如下:<fishVisual name="pufferP" model="puffer" colorEffect="rgbAdd" colorParams="-0.5,-0.1,-0.5" />,在游戏中看看它的效果吧:


                    IP属地:广东12楼2019-02-15 12:12
                    回复
                      至于colorParams="-0.5,-0.1,-0.5",这就是你的颜色色调了,上面说过,在hsvAdd中,第一个逗号前的"-0.5"代表颜色,在hsvAdd模式中,“-0.5”应该是红色(可能不是,还是要实践),第二个逗号前的“-0.1”代表亮度,数值越高一般越明亮,第三个一般写“0”就好。
                      当然有需要黑影存在的时候要写colorEffect="hsvAdd" colorParams="0,0,-100" />,就会有几乎纯黑然而实际存在的鱼出现在关卡中


                      IP属地:广东13楼2019-02-15 12:17
                      回复
                        噗诈尸= =
                        欢迎码字(手残路过


                        14楼2019-02-15 18:14
                        收起回复
                          十四,改音乐详解:
                          也许你有很适合某个关卡的音乐,但是你没办法在游戏中播放,那么怎么办呢?你可以参考0x7hf5k1的方法,假设你需要加入一个音乐,你在游戏中取名为“darkest”,方法如下:
                          1.下载剪辑好你需要的音乐,并放到根目录后的resource\sounds如图
                          2.打开根目录下\resource\themes的baseTheme.xml文件

                          打开并至少写上如下文字:

                          其中"name"项后面为歌曲名,你可以取大小写英文和数字,如Track1,name的歌曲名可以与原来的文件的位置相同,也可以不同,但最好相同方便记忆。file后面的文件位置最好写成那样,并要带后缀名,不然无法识别。在关卡中你需要写上name后面的音乐名,如图:

                          本人实测音乐有效。


                          IP属地:广东15楼2019-02-16 11:02
                          收起回复
                            下星期要培优了,但


                            IP属地:广东来自Android客户端16楼2019-03-10 13:15
                            回复
                              重新给自己一击洛阳铲可能还是图文并茂更能引起各位观众姥爷们的兴趣明天找时间更一回吧


                              IP属地:广东来自Android客户端17楼2019-07-16 21:38
                              回复