设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: aasll

[原创发布] 【请大家移步新教程,20220201】基于RPGMakerMV的JavaScript基础

  [复制链接]

Lv1.梦旅人

梦石
0
星屑
235
在线时间
50 小时
注册时间
2012-2-13
帖子
50
发表于 2017-4-6 20:46:49 | 显示全部楼层
竟然都支持js了,终于轮到我出山了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
220
在线时间
161 小时
注册时间
2015-11-23
帖子
92
 楼主| 发表于 2017-4-7 10:43:16 | 显示全部楼层
playermaker 发表于 2017-4-6 20:46
竟然都支持js了,终于轮到我出山了

看来是大神来啦
欢迎指正
自天地未辟混沌未开时就已经开始装逼的神奇人物
MV的魔塔模板::托管在github上的游戏,可以直接运行
基于RPGMakerMV的JavaScript基础
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
235
在线时间
50 小时
注册时间
2012-2-13
帖子
50
发表于 2017-4-7 19:09:21 | 显示全部楼层
aasll 发表于 2017-4-7 10:43
看来是大神来啦
欢迎指正

你写的比我好多了,我还得继续学习
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
154 小时
注册时间
2011-2-1
帖子
47
发表于 2017-4-18 09:11:26 | 显示全部楼层
简单明了,像我这么笨都看懂了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
51 小时
注册时间
2012-10-24
帖子
24
发表于 2017-4-19 13:32:54 | 显示全部楼层
马克一下
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
25 小时
注册时间
2017-3-27
帖子
10
发表于 2017-4-20 10:27:07 | 显示全部楼层
请问,这种call(this)的用法到底是什么意思?

Yanfly.ATB.Game_Battler_updateTick = Game_Battler.prototype.updateTick;
Game_Battler.prototype.updateTick = function() {
    Yanfly.ATB.Game_Battler_updateTick.call(this);
    if (BattleManager.isATB()) this.updateATB();
};
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
11 小时
注册时间
2006-3-29
帖子
13
发表于 2017-4-20 11:28:04 | 显示全部楼层
谢谢分享,辛苦了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
220
在线时间
161 小时
注册时间
2015-11-23
帖子
92
 楼主| 发表于 2017-4-24 08:51:25 | 显示全部楼层
TTIAN 发表于 2017-4-20 10:27
请问,这种call(this)的用法到底是什么意思?

Yanfly.ATB.Game_Battler_updateTick = Game_Battler.protot ...

call是函数function的一个方法,
func.call(this)的意思是调用func,并且这个把当前的this当作func里面的this

点评

但是这段代码里面,先是funcA = funcB,然后 funcB里面又调用了funcA,这是个什么循环吗...?  发表于 2017-4-25 13:09
自天地未辟混沌未开时就已经开始装逼的神奇人物
MV的魔塔模板::托管在github上的游戏,可以直接运行
基于RPGMakerMV的JavaScript基础
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
220
在线时间
161 小时
注册时间
2015-11-23
帖子
92
 楼主| 发表于 2017-4-26 09:19:32 | 显示全部楼层
TTIAN 发表于 2017-4-20 10:27
请问,这种call(this)的用法到底是什么意思?

Yanfly.ATB.Game_Battler_updateTick = Game_Battler.protot ...

这种用法来自两个变量互换,考虑这样的问题,a和b两个变量,互相交换数据,那么需要借助另一个变量:
temp=a;
a=b;
b=temp;
一样的道理,要改变Game_Battler.prototype.updateTick的内容,就得把它复制?一份放到Yanfly.ATB.Game_Battler_updateTick里面,
然后重新给Game_Battler.prototype.updateTick赋值,在其中调用Yanfly.ATB.Game_Battler_updateTick,即调用原来的Game_Battler.prototype.updateTick
这样的话,相当于在原来的 Game_Battler.prototype.updateTick执行的前后增加了新的内容:
if (BattleManager.isATB()) this.updateATB();

点评

原来如此,感谢指教!  发表于 2017-5-5 11:30
自天地未辟混沌未开时就已经开始装逼的神奇人物
MV的魔塔模板::托管在github上的游戏,可以直接运行
基于RPGMakerMV的JavaScript基础
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
465
在线时间
8 小时
注册时间
2008-6-15
帖子
2
发表于 2017-4-26 19:43:45 | 显示全部楼层

你new了两个Cat实例cat1,cat2。他们的name值当然就是你各自传进去的值。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-19 09:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表