rpgmakermv吧 关注:21,894贴子:68,634

回复:【长期】RPGMAKER MV插件介绍与笔记——新手上线,一同学习

只看楼主收藏回复

好帖子啊,等待楼主更新,催更QAQ


IP属地:山东60楼2019-07-20 14:32
回复
    楼主加油


    IP属地:山东61楼2019-07-20 14:33
    收起回复
      2026-04-24 12:33:10
      广告
      不感兴趣
      开通SVIP免广告
      0.0


      IP属地:浙江62楼2019-07-23 16:02
      收起回复
        今天更新的是:从0开始的MV-JavaScript(插件实例)可能也有点跳。等我写好MV操作教程后再回来看也行。


        63楼2019-08-10 10:31
        回复
          [MV插件实例]数字对应颜色修改——思路:替代基础知识:
          MV的转义字符之一\c[n]这个是改变字体颜色,n为颜色的代号,mv原本的颜色是在Window.png中的。如果对代码很苦手的话,也可以改Window.png。总之实现的方法不止一个,有很多很多。
          JavaScript 数据类型:string,array,number 本次遇到这三个数据类型。
          string是文本,直接定义时加""或'',总之就是要用引号包起来,引号也可以嵌套引号,用双引号还是单引号就根据具体情况,比如定义文本:the words "I love you"。可以这么定义:varstr = 'the words "I love you"'
          应该只有英语语境的人会考虑这个问题吧,用的中文“”是完全没这个问题的。
          array是数组的意思,直接定义时使用[xx,xx,xx]的形式,xx是数组中的元素。调用单独的元素可以使用数组下标,注意数组的下标是从0开始的。
          例如 var arr =[1,2,3]那么arr[2]就是3了。
          number是数字的意思,默认10进制,跟我们的习惯一样。在MV的原方法里,有转换为16进制的方法,我们在这个需求中也借用到了。
          JavaScript 语法之return:
          return 此方法返回return后的变量或方法,需注意的是,遇到return就结束这个方法,不会继续执行方法内的后续操作。
          虽然本次涉及了其他语法,但是最关键的是return,因此先只介绍return。
          本需求的主要思维:替代return值。
          基本上都是MV的原方法直接拿来用了,我们的改造方式就是用自己定义的值来替代原返回值。
          1、写下需求
          这个需求相对简单。
          取代Window.png规定的颜色,自定义数字对应的颜色。
          为了确认需求,可以使用画板,SAI等工具,先调一下颜色,看看适不适合。
          然后用吸管工具,查看每个颜色的RGB参数。

          2、查看MV原方法
          在MV的原方法的关键是读取Window_Base.prototype.textColor= function(n)的方法所返回值。
          既然是返回值,那么我们可以替代这个值。
          如果不熟练的话,在这个return语句之前加一个console.log,就可以看到原本MV返回的值是什么。
          等我们对JavaScript和MV都熟悉了以后,可以根据语句计算一下结果。
          这里返回的是String数据类型,是16进制的颜色。也就是HTML常用的那种。
          而我们在第1步需求里,得到的是RGB颜色。
          这里有2个选择,其一,我们也改为HTML颜色,其二,我们继续利用MV的原方法。
          如果是其一的话,我们可以直接写"FAEBD7","FF9999"等等。
          其二,我们可以借用MV自带的方法Bitmap.prototype.getPixel这个方法后半部分,就是在转成HTML颜色代码。
          然后放在一个全局数组里,如果不是全局数组,可以放在特定的window下面,但是每一个window都需要有点麻烦。
          所以还是放全局数组。
          我选的是第二个,根据RGB来放置数组。

          3、改写MV原方法
          开始替代原值的改写。
          Window_Base.prototype.textColor = function(n) {
          varresult = '';
          varcolor =ReserveColor[n];
          for(var i = 0; i < color.length; i++) {
          result += color[i].toString(16).padZero(2);
          };
          returnresult;
          };
          4、测试
          测试很重要,之前数组少了一个逗号,然后导致后面的颜色全部前移了一位。经过测试才发现。
          打开MV,用事件来测试。
          举例:
          \c[17] 17号色 \c[22]22号色 \c[38]38号色 \c[45]45号色 \c[0]0号色
          5、完成

          <FILE END>


          64楼2019-08-10 10:33
          回复

            楼主回来了,更新Step5
            Step5 修改分辨率
            MV默认的大小,比起VX ACE等往期系列已经算大了。但如果有需要,还可以继续加大。
            鉴于现在大部分玩家使用的电脑屏幕都比过去要大,如果是做PC平台,最好别再把分辨率缩小了。
            MV改变分辨率的插件相当多,比如Yanfly的YEP_CORE等。
            在这里描述的是自制一个改变分辨率的JS脚本的方法。
            这里有个重要概念,JavaScript中放在后面的定义与申明,会覆盖前面的。也就是说,不管MV源码说了啥,你的插件所说的话如果对象名字和源码一样,就会覆盖掉源码的定义。
            详细步骤
            1打开工程文件根目录下的package.json
            修改"width"(宽度)和"height"(高度)后面所跟的数字为你要修改的分辨率。
            2新建一个JavaScript文件,放在plugins下
            没有安装编辑器的话,可以用笔记本写好后,把后缀改成js也行。文件名字请用英文命名。
            这个JS文件里只要写4行就可以了:
            SceneManager._screenWidth = 新的宽度
            SceneManager._screenHeight = 新的高度
            SceneManager._boxWidth = 新的宽度
            SceneManager._boxHeight = 新的高度
            3在MV编辑器里,选择刚才的JS文件。
            如何使用插件,可以参考step1创建新项目与插件使用
            4试着运行来查看效果


            65楼2019-10-21 00:06
            收起回复
              太硬核了


              IP属地:广东来自Android客户端66楼2019-10-23 10:31
              回复
                我想知道struct类型的相关资料~~~


                IP属地:福建68楼2019-11-14 18:06
                回复
                  2026-04-24 12:27:10
                  广告
                  不感兴趣
                  开通SVIP免广告
                  66666666


                  IP属地:山西来自Android客户端69楼2020-07-05 23:58
                  回复
                    顶一下


                    IP属地:广东来自iPhone客户端70楼2020-07-07 10:04
                    回复