minecraftpe吧 关注:638,678贴子:15,084,613

【教程】自定义实体在ModPE中的应用(入门)

只看楼主收藏回复

各位好,我是你们敬爱的太守霸霸
禁止反驳斜斜
那么进入正题,这次给各位带来的是自定义实体的基础教程。作为ModPE教程帝,本尊当然是要做最六六六的入门教程帝(°∀°)ノ
ModPE入门教程链接:
http://tieba.baidu.com/p/4425490997?share=9105&fr=share&see_lz=0
GUI入门教程链接:
http://tieba.baidu.com/p/5003833707?share=9105&fr=share&see_lz=0




来自Android客户端1楼2017-03-22 12:18回复
    二楼自己占了


    星座王
    点亮12星座印记,去领取
    活动截止:2100-01-01
    去徽章馆》
    来自Android客户端2楼2017-03-22 12:18
    回复
      ▲版权声明▼
      本教程由百度贴吧@氵骨G 构写框架、提供剖析代码与完成大审,由@宇智波家老大 进行构写、添加、补充、修改。
      禁止转载与一切商业行为,违者将追究其法律责任。
      ▼制作者名单▲
      教程制作:
      @氵骨G
      @宇智波家老大
      ==============
      TXT制作:
      @宇智波家老大
      =============
      〔最低要求〕: 熟悉自定义函数,对大部分启动器函数能灵活运用。


      星座王
      点亮12星座印记,去领取
      活动截止:2100-01-01
      去徽章馆》
      来自Android客户端3楼2017-03-22 12:19
      回复
        part 1:
        第一节我们主要说的是自定义实体的实质。
        以ModPE是做不到添加一个全新的实体的。它只能通过修改生物模型(model)来实现“伪·自定义实体”。也就是说,与其叫它“自定义实体”,不如叫“自定义模型”更合适。
        所以说我们明确了一个概念 :
        PE版的ModPE做不到像PC版那样,添加一个新的实体。在PE只能通过修改实体的模型和皮肤,来做到伪新实体的效果。


        星座王
        点亮12星座印记,去领取
        活动截止:2100-01-01
        去徽章馆》
        来自Android客户端4楼2017-03-22 12:19
        回复
          js里的自定义实体只能给有生命的实体使用,像射出的箭、矿车、画等等这些没有生命的实体是不可以的(如矿车、箭、掉落的方块等)。而像牛、羊、猪等实体可以。
          所以综上所述,我们就可以知道,自定义实体的难点就在于建立一个模型(一般简称之为建模)。而生成实体、实体属性、血量,都是十分简单的。这些在教程的最后会提到。


          星座王
          点亮12星座印记,去领取
          活动截止:2100-01-01
          去徽章馆》
          来自Android客户端5楼2017-03-22 12:19
          收起回复
            part 2:
            一般建模我们会把它套在一个function里,也就是自定义一个函数。最后再以变量的形式把这个模型赋予这个变量,调用的时候只需要填变量名就能调用这个模型。
            一般格式为:
            function 函数名(模型名)
            {
            var model=模型名.getModel();
            //下面就可以开始建模了
            这里是模型
            }
            var 调用时的变量名=Renderer.createHumanoidRenderer();
            函数名(调用时的变量名);
            好了,接下来,我会拆分讲解上面的例子。


            星座王
            点亮12星座印记,去领取
            活动截止:2100-01-01
            去徽章馆》
            来自Android客户端6楼2017-03-22 12:20
            收起回复
              首先,函数名你可以自定义。你可以把它看做一个普通的自定义函数。推荐起一个和这个实体有关联(或代表这个实体)的名称。比如说你要做一个鲸鱼,那么函数名就可以是鲸鱼。
              模型名同样也可以自定义,推荐内容同上。但是要注意,函数名和模型名不能相同。


              星座王
              点亮12星座印记,去领取
              活动截止:2100-01-01
              去徽章馆》
              来自Android客户端7楼2017-03-22 12:20
              回复
                下面就是函数体部分了。
                首先,定义一个叫做“model”的变量。模型名就是上面参数里的那个模型名。
                var model=模型名.getModel();
                直译大概就是:
                定义一个名为model的变量,将使用getmodel()函数的返回值赋值给它。相当于获取这个模型的model。


                星座王
                点亮12星座印记,去领取
                活动截止:2100-01-01
                去徽章馆》
                来自Android客户端8楼2017-03-22 12:21
                回复
                  再后面,之前有说过,就是要把这个模型赋值为一个变量,方便我们在编写js时的调用。那么:
                  var 调用时的变量名=Renderer.createHumanoidRenderer();
                  意思是创造一个新的普通人类模型(也就是玩家Steve的模型)。
                  然后,调用一开始的那个自定义函数,参数就填上面的那个变量。
                  这样,在你调用的时候,你就可以直接:
                  Entity.setRendererType(要换模型的实体,刚刚那个变量);
                  就可以了。
                  这就是自定义实体所用的框架。写完框架后,我们就可以开始详细构写模型了。


                  星座王
                  点亮12星座印记,去领取
                  活动截止:2100-01-01
                  去徽章馆》
                  来自Android客户端10楼2017-03-22 12:21
                  回复


                    IP属地:江西来自Android客户端12楼2017-03-22 12:27
                    回复


                      IP属地:江西来自Android客户端13楼2017-03-22 12:27
                      回复
                        dd


                        来自Android客户端14楼2017-03-22 12:28
                        回复
                          part 3:
                          好了,下面我们就可以看看实体的基础部分了。
                          一般来说,我们是不需要原来的人类模型的。我们自定义的实体,大部分都不是以人类为大致框架的。所以,我们需要先清除原来的人类模型的所有模型单元。
                          好,这里我们就要引入一个新概念,就是模型单元。


                          星座王
                          点亮12星座印记,去领取
                          活动截止:2100-01-01
                          去徽章馆》
                          来自Android客户端15楼2017-03-22 12:33
                          回复
                            一个有生命的实体,都有六个模型单元:
                            头,身体,左臂,右臂,左腿,右腿
                            这六个模型单元。
                            我们建模都是在这六个模型单元上为基础搭建起来的框架。
                            比如说你要做一把剑,那么我们所建的模型就要在手臂这个模型单元上。也就是它会随着手臂的运动而运动。
                            可以做一个比喻,模型单元就是你的手,模型块就是你手上拿的东西。一般建模所用的就是模型块。
                            那么,为了方便使用,我们先把所有模型单元定义为一个变量。


                            星座王
                            点亮12星座印记,去领取
                            活动截止:2100-01-01
                            去徽章馆》
                            来自Android客户端16楼2017-03-22 12:33
                            回复
                              它们所对应的名称:
                              头:head
                              身体:body
                              左臂:leftArm
                              右臂:rightArm
                              左腿:leftLeg
                              右腿:rightLeg
                              注意,第一个单词首字母为小写,第二个单词首字母才是大写。
                              好,就像刚刚说的,为了方便调用,我们要把它们赋值给变量。


                              星座王
                              点亮12星座印记,去领取
                              活动截止:2100-01-01
                              去徽章馆》
                              来自Android客户端17楼2017-03-22 12:34
                              回复