Project1

标题: 关于学习javascript和插件制作的方法 [打印本页]

作者: 夏的66rpg    时间: 2019-9-14 02:09
标题: 关于学习javascript和插件制作的方法
本帖最后由 夏的66rpg 于 2019-9-14 02:11 编辑

我大概自学了大半个月的javascript基础,我不太清楚是否还需要继续更深入的学习,因为后面会涉及到DOM,Ajax,jQuery等等,我不太确定是否用得到。
但是就我现在JS的基础,看rpg_core里的代码依旧不知道是什么,这让我挫败感很严重..ORZ。
如果想要学习编写插件,是如何知道需要调用哪个对象哪个函数呢?
如果想进一步学习,我努力的方向是什么呢?
不吝赐教,感谢!
作者: 晓风饮寒雨    时间: 2019-9-14 07:02
本帖最后由 晓风饮寒雨 于 2019-9-14 07:04 编辑

如果只是想看懂rpg mv的js代码,应该没必要深入了解js。我给推荐一个up主的教学视频吧,里面讲解了各种游戏中常用的代码讲解,不知道有没有帮的到你。https://www.bilibili.com/video/av23706785/

里面的教学分为渐进篇和进阶篇。
作者: kinbak    时间: 2019-9-14 08:48
对我来说,特意去看代码学习是很无趣的。但是如果一边制作自己的游戏再摸索,就上手很快。有疑问才问大神或者百度
作者: hyrious    时间: 2019-9-14 09:20
对于 JS 本身:可以看一下 重新介绍 JavaScriptES6 入门 来进一步学习,至于一些网页开发用的库如 jQuery 就不用管了

对于编写插件:由于 MV 基本照抄 VA,你可以参考 RMVA 的默认脚本和 它的帮助文档 来辅助理解 MV,rpg_core.js 之类的文件过于冗长,可以看 rpgtkoolmv/corescript 里面拆分好的源码。基本上过一遍这些 rpg_ 开头的文件之后,应该就具备了“找函数”程度的能力

对于一些“黑科技”插件如给画面加滤镜等,基本上是平台独占写法(需要你去研究 PIXI.js 的 API 等,因为 mv 的画面渲染引擎就是使用了这个库)

*平台独占:指不能简单翻译到 RMVA 的脚本
作者: 夏的66rpg    时间: 2019-9-14 11:26
晓风饮寒雨 发表于 2019-9-14 07:02
如果只是想看懂rpg mv的js代码,应该没必要深入了解js。我给推荐一个up主的教学视频吧,里面讲解了各种游戏 ...

谢谢,这个应该会很有用!
作者: 夏的66rpg    时间: 2019-9-14 12:00
hyrious 发表于 2019-9-14 09:20
对于 JS 本身:可以看一下 重新介绍 JavaScript 和 ES6 入门 来进一步学习,至于一些网页开发用的库如 jQue ...

对于学习JavaScript大致有了方向,基础学完补ES6,在看进阶。编写插件应该花点时间去领悟了,我大概把它想得太难了。谢谢~
作者: yang1zhi    时间: 2019-9-14 16:41
我就我知道的来说说。
我懂的不多。

DOM,Ajax,jQuery用不到。
rpg_core是一些深层的内容,一般用不到。
MV的脚本不用特意去外面学。外面学的都是正式的JS的内容。这和MV的有些不同。

作者: 夏的66rpg    时间: 2019-9-14 17:34
yang1zhi 发表于 2019-9-14 16:41
我就我知道的来说说。
我懂的不多。

恩,我现在的目标就是能编写基本的插件,比如创建一个新的窗口,我知道调用什么函数,有什么用就行了。以及日后的努力方向,我感觉现在系统的学一遍JS意义不是很大。
作者: 白嫩白嫩的    时间: 2019-9-14 19:57
拿简单的插件分析修改学习  另外如果在论坛找个大神当师父想必会事半功倍
作者: 夏的66rpg    时间: 2019-9-15 14:04
白嫩白嫩的 发表于 2019-9-14 19:57
拿简单的插件分析修改学习  另外如果在论坛找个大神当师父想必会事半功倍 ...

恩,学习简单的插件毕竟无法系统的学习,就算我能看懂它的原理,我也不知道作者为什么会调用这个函数。找师傅就算了,毕竟都这么忙,我只是想寻找一个学习的方向。
作者: 18355118009    时间: 2019-9-17 13:45
慢慢学。。。。。。我就是混奖励的
作者: bxcl361864462    时间: 2019-9-20 10:46
DOM,Ajax,jQuery 这些确实你不用去了解,因为写插件脚本什么的根本用不到,找个人带确实是最好的
作者: archmagetony    时间: 2019-9-22 19:51
不知道你还在看不看这个帖子,如果说想要去理解里面的一些函数的话推荐你可以看看这里。
https://github.com/wangwangxingao/RMMV/tree/master/%E6%B3%A8%E9%87%8A
我忘了这是在哪个帖子里面找到的了。。。他这里面的注释文件夹是有中文注释的RPGMV源码脚本,可以考虑看看,很有帮助。
如果你要是比较想折腾的话比较推荐使用一些高级一点的编译器,例如Intellij IDEA或者Webstorm。这些东西能够帮助你更好(更懒)的写好代码,当然这不是重点,重点是你可以通过按住Ctrl+鼠标左键点击某个方法,他会自动给你跳转到这个方法的源代码部分。如果是RPGMV自带的源码,你可以通过查找那个有中文注释版本的文件,来理解,这样就会方便很多了。
作者: pangmin456    时间: 2020-2-11 22:30
我也在自学js,不过我就想达到能看懂mv代码的程度,没想着深入学习
作者: 坏数据    时间: 2020-2-12 00:57
DOM,Ajax,jQuery 在这里根本没用  这是做前端用的  
我的建议是 一点点去改插件 改出来你想要的功能  慢慢就会了
我不赞成系统地学习  
遇到不会的就去查  这样的学习过程  学到的东西 就是完整的系统里面你需要的那一部分
最简单的结果 就是定义函数  调用函数 你能看到这个逻辑 和代码运行的思想后 碰到不懂的再去查
例如你遇到了迭代  再去查迭代相关的    遇到正则表达式 再查正则表达式  

你的目的是用  不是去做一些理论工作 或者教学什么的

这是我在应用很多 语言 和 编程语言 得出的一点经验
作者: 波大女大学生    时间: 2020-2-12 17:06
新人混奖励
作者: 郭小受    时间: 2020-2-12 17:32
建议你看一下这个:https://rpg.blue/forum.php?mod=viewthread&tid=395487&extra=page%3D2%26filter%3Dtypeid%26typeid%3D1306
作者: 苍穹之光    时间: 2020-2-12 21:54
我也是学了一点js的基础,但是目前只会做一些窗口程序。
作者: candlesor    时间: 2020-2-13 00:11
我也有跟楼主类似的困扰,不过我的要求低一些:不指望能自己写插件,先能改改插件,改成自己想要的结果,或者解决插件之间的兼容性问题就已经很满足了
作者: xufen    时间: 2020-2-13 09:11
我也想学JAVA啊,但是不懂英语啊
作者: 哇哇哇啊叭叭    时间: 2020-2-13 12:50
本帖最后由 哇哇哇啊叭叭 于 2020-2-13 08:14 编辑

补充:
  趋势。常见到有人讲“做什么都必须要有扎实的基本功”,比如“学做游戏就要先学好代码基础”、“学漫画就要先练习素描”什么的。我觉得他们只说对了一部分:做游戏确实与基本功呈正相关,但这种关系只是众多“趋势”中的一种。要还原真相,就必须承认其他“趋势”的存在
  效率。当时间有限或目标游戏有特定限制时,在基本功上花精力可能并不是最优解。在代码基础里面,很多知识是用不到的,那么这些知识就是熵耗。根据【奥卡姆剃刀原理】——如无必要勿增实例——最好是用什么学什么

  最理想的情况是怎样的呢?那就是“有一个能够独立完成作者想做的游戏的老师”,这个老师能够解答作者开发过程中遭遇的所有问题,多余的问题作者并不关心,也不会知道;那么这个老师其实自己就可以做游戏了,完全不需要作者干嘛。这样看来,这tm不就是钞能力吗?w(゚Д゚)w

[line]0[/line]
  佩服楼主毅力。想要好好玩耍还是要用代码...真羡慕那些程序猿
  觉得先从简单的东西学起比较好,最好是【一个代码知识点配一个小游戏】,再辅助一点【单元总结】,比起单纯做专业编程的知识有趣一点,而且跟游戏更有关



作者: Drill_up    时间: 2020-2-14 14:26
本帖最后由 Drill_up 于 2020-2-14 14:29 编辑

(´⊙ω⊙`) 首先:
年纪轻轻不要学写插件哇……会秃头的

真要学的话,有两个维度,第一个维度为纵向维度,即你完成的成品,另一个维度为横向维度,即你掌握的js主要知识。
前面的朋友说的没错,从简单的插件修改开始,这样可以大幅度提高纵向维度,成就感也来得快。
但是代价也有……就是你经常会遇到一些神奇的bug,怎么也无法解决,或者遇到大插件,手足无措,这些都是缺乏横向维度的垫底知识造成的。
横向维度呢,举几个例子:
        冒泡排序、js继承、js全局变量临时变量、js指针引用问题、深拷贝与浅拷贝等
你的横向维度越宽,你能看懂rmmv的js源码的部分也越多。

大部分非程序员的做法都是:
        拿到各个作者的插件修改,改来改去,给插件加了许多有趣的功能,但是与其他的插件都相互冲突。
        或者,自己写一个小插件,注明作者。看到了新的功能,都加进来,也不对插件的功能作专门独立区分。因为它们缺乏横向知识,最后形成了四不像。插件移植性非常差。
(于是他们的插件只能作为一些作料稍微用一下,大部分都被遗忘……)

而大部分程序员的做法都是:
        强迫自己,没错是强迫自己通读rpg的所有类、继承关系、构造,把横向维度扩大到最宽,这样上手就可以写高级插件。
(然后,它们觉得rmmv这个插件烂死了,自己去造新引擎了……路都走歪了……)

所以,我建议你的学习路线应该走阶梯型的路线,横向和纵向,都隔一段时间顾及一下。
比如:
        1.模仿一个小插件,比如某个窗口修改字体,修改颜色。纵向扩展。
        2.写插件时,要抵住诱惑,千万不要在感觉自己能实现某个新功能的时候,跳坑。
        3.当你完成了插件,总结一下经验,然后,再去学习js的dom、前端那些结构,找找它们之间异同,横向扩展。
        (之前有朋友说h5和rmmv的脚本完全无关,其实不完全……rmmv是h5的canvas渲染绘制出来的,只是后来的scene和window是基于pixi的stage和sprite的迭代产物,看起来似乎完全分离了,但是某些方面依然脱离不了h5的影子。)
        4.当你理解了一些结构后,继续全力写一个新插件。如此往复。
       
当你达到一定程度之后,你会有种想法会趋势你去了解一些原理,比如:"为什么$gameSystem能全局使用还能存到存档里","为什么两个并行事件中,id小的事件会先执行",“为什么对话框执行的时候,玩家死活不能移动”
随着你一步一步深入,你会发现你每次写插件的时候,都会回去翻翻rmmv的源码,以及lib库中的pixi。这时候就说你掌握了大部分rmmv的脚本知识了。

最后,年纪轻轻不要学写插件哇,世间那么多美好你不去感受,偏偏要上这条不归路……
作者: 秋色枫    时间: 2020-2-20 10:55
DOM,Ajax,jQuery 只是用来开发网页的,不需要学。核心依然是ES6,至于插件开发……我认识的一个大佬是直接读示例工程里面的代码找各种接口的。
作者: jc66605    时间: 2020-3-11 10:11
正在学习中
作者: ABXY-Kenobi    时间: 2021-5-10 19:41
拿走不谢:
尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili  https://www.bilibili.com/video/BV1YW411T7GX
尚硅谷JavaScript高级教程(javascript实战进阶)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili  https://www.bilibili.com/video/BV14s411E7qf?from=search&seid=753396615804943202
黑马程序员JavaScript全套教程_零基础入门JavaScript,Web前端必学的JS教程_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili  https://www.bilibili.com/video/BV1ux411d75J?from=search&seid=753396615804943202
学习JS看这个就够了,全面打通 JAVASCRIPT 知识点(更新到17章)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili  https://www.bilibili.com/video/BV1NJ411W7wh?from=search&seid=753396615804943202
JavaScript速成课【油管最火JS教程】_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili  https://www.bilibili.com/video/BV1jE411T7ya?from=search&seid=753396615804943202
【SIAKO.Mobi】RPG Maker MV Plugin Scripting 脚本教学【渐进篇】_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili  https://www.bilibili.com/video/av23706785/
作者: xiamumomo    时间: 2021-5-10 19:58
Drill_up 发表于 2020-2-14 14:26
(´⊙ω⊙`) 首先:
年纪轻轻不要学写插件哇……会秃头的

头发这种东西不要紧这样省了理发的钱接着学会了能赚钱再接着继续学
作者: 风痕灬    时间: 2021-5-10 20:51
挫败感的来源应该还是没搞清楚方向,并不是因为能力不足或是白学了。这么多精品回复我也不用多说啥了,只能再鼓励下楼主了,要相信自己,加油啊。
作者: 清澈淌漾    时间: 2021-5-11 09:26
下一个带注释的源码 从小功能入手

所有的程序都是
显示层 (如何把数据显示出来)
用户操作 (可以通过什么方式改变数据)
数据层   ()

一切都是数据  窗口也好 战斗也好
console看看里面有什么 能不能改 改了这个属性后 游戏会有什么变化
不要怕出BUG,换个使用方式就是新功能
作者: 415774111    时间: 2021-5-20 20:51
我是个新人,比较热爱RPG游戏,后来产生了自己做个自己认为好的游戏,,刚入坑,希望学到更多有用的知识
作者: 时久之妖    时间: 2022-3-2 04:44
同自学,不过我只期望能看懂大佬们写的插件再改改看能不能达到我自己想要的效果就行,自己写插件是不指望了x
作者: lahlah    时间: 2022-4-27 11:52
同样新手上路,楼主加油!我也加油T_T
作者: 5258clkk    时间: 2022-4-28 00:16
我覺得加入QQ群憶起討論會好很多
作者: tanurog2    时间: 2022-5-12 12:14
我目前是看这个影片的:
https://www.youtube.com/playlist?list=PLU0DH6E0N9R7a0OM3ZXLuRq2QtiOufgr-
作者: 逆天忽悠    时间: 2022-5-21 22:26
来搞个奖励  观望
作者: zyl147258    时间: 2022-5-23 20:03
同新手,只能改点简单的,有的知道该怎么该,但脚本写不出
作者: rica    时间: 2023-1-18 15:39
想自己動手,但是看也不會...
作者: RedTee    时间: 2023-5-22 16:02
样新手上路,楼主加油!我也加油!!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1