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

Project1

 找回密码
 注册会员
搜索
楼主: aasll
打印 上一主题 下一主题

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

  [复制链接]

Lv1.梦旅人

梦石
0
星屑
220
在线时间
161 小时
注册时间
2015-11-23
帖子
92
11
 楼主| 发表于 2016-9-15 20:13:17 | 显示全部楼层
第五章的例子,任务插件

Exp3.7z

35.84 KB, 下载次数: 297

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
220
在线时间
161 小时
注册时间
2015-11-23
帖子
92
12
 楼主| 发表于 2016-9-19 11:51:46 | 显示全部楼层

多谢汪神捧场啊{:2_249:}
自天地未辟混沌未开时就已经开始装逼的神奇人物
MV的魔塔模板::托管在github上的游戏,可以直接运行
基于RPGMakerMV的JavaScript基础
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
220
在线时间
161 小时
注册时间
2015-11-23
帖子
92
13
 楼主| 发表于 2016-11-21 22:57:40 | 显示全部楼层
本帖最后由 aasll 于 2016-11-21 23:07 编辑

js基础练习题


好多朋友说从js基础到MV插件的跳跃太快,那咱们就来几道练习题压压惊。



1.
  • 1、请写出一个函数,用循环计算出 1+2+3+4+5+...+100的值
  • 2、请写出一个函数,功能为:传入三个值,则返回这三个值最大的那个值
  • 3、请定义一个函数,输入一个N值,则计算出该值的阶乘


2.给定一个字符串例如:“abaasdffggghhjjkkgfddsssss3444343”;问题如下:
  • 1、字符串的字节长度 
  • 2、取出指定位置的字符,如:0,3,5,9等
  • 3、查找指定字符是否在以上字符串中存在,如:i,c ,b等 
  • 4、替换指定的字符,如:g替换为22,ss替换为b等操作方法
  • 5、截取指定开始位置到结束位置的字符串,如:取得1-5的字符串
  • 6、找出以上字符串中出现次数最多的字符和出现的次数
  • 7、遍历字符串,并将遍历出的字符两头添加符号“@”输出至当前的文档页面。


3.根据当前日期进行以下方面的处理:
  • 1、取得日期的年份、月份、天、时、分、秒,并转换成大写日期格式  如:2013年8月17日20时30分20秒 
  • 2、 根据日期的不同时间段,做问候语:早上8:00-12:00 :“早上好!欢迎登陆系统”中午12:00-14:00:“中午好!该休息了”下午14:00-18:00:“下午好!欢迎登陆系统”晚上19:00-00:00:“晚上好!XXXXXXXXX” 
  • 注:你若觉得分的不够细,可以将时间段划分的更细一些。可以参考一下126邮箱。
  • 3、计算当前时间向前、向后(一天、一个月)的日期,并取出是星期几。

 
4.函数调用,建立两个函数,一个函数是中学二次函数(y= 2/5*x^2+9/10*x-15)表达式的计 算方法,另一个函数是给定任意的20个x值,调用前一个函数计算y对应的值,并使用(x,y)方式输出20个计算结果。

5.使用二重循环打印9×9乘法表。  提示:  1、 第一个乘数(乘号前的乘数)的变化规律:从第一行倒第九行,第一个乘数从1变 到9,与行号相同  2、 第二个乘数(乘号后的乘数)的变化规律:从1开始,最大与行号相等。 3、 可以用i代表第一个乘数,用j代表第二个乘数,那么每一行j与i的关系是:j<=i。
运行效果如下所示:
 
1x1=1 
2x1=2 2x2=4 
3x1=3 3x2=6 3x3=9 
4x1=4 4x2=8 4x3=12 4x4=16

6. 随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和
自天地未辟混沌未开时就已经开始装逼的神奇人物
MV的魔塔模板::托管在github上的游戏,可以直接运行
基于RPGMakerMV的JavaScript基础
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
220
在线时间
161 小时
注册时间
2015-11-23
帖子
92
14
 楼主| 发表于 2016-11-22 10:51:01 | 显示全部楼层
本帖最后由 aasll 于 2016-11-22 10:52 编辑


怎么显示的是一堆括号感叹号?
({}+[])[+!![]]+(!![]+[])[+!![]]+(!![]+[])[+[]]+[])[!+[]+!![]]))()

点评

动态语言类型转换,再加上一些js的zz设计。  发表于 2016-11-22 12:24
自天地未辟混沌未开时就已经开始装逼的神奇人物
MV的魔塔模板::托管在github上的游戏,可以直接运行
基于RPGMakerMV的JavaScript基础
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
220
在线时间
161 小时
注册时间
2015-11-23
帖子
92
15
 楼主| 发表于 2016-12-3 15:00:20 | 显示全部楼层

确实,这部分有些问题,暂时修改了一下,后面有时间后我会大修一下这一章。
自天地未辟混沌未开时就已经开始装逼的神奇人物
MV的魔塔模板::托管在github上的游戏,可以直接运行
基于RPGMakerMV的JavaScript基础
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
220
在线时间
161 小时
注册时间
2015-11-23
帖子
92
16
 楼主| 发表于 2016-12-3 15:05:40 | 显示全部楼层
237269025 发表于 2016-12-2 23:22
楼主,如果想直接使用json文件,又应该怎么做呢

在rpg_manager.js里面,
DataManager._databaseFiles 这个数组里面,把自己的json文件写进去,
name属性跟上面那一堆var要对应起来,大概就会把json文件的内容放到name对应的全局变量里面。
自天地未辟混沌未开时就已经开始装逼的神奇人物
MV的魔塔模板::托管在github上的游戏,可以直接运行
基于RPGMakerMV的JavaScript基础
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
220
在线时间
161 小时
注册时间
2015-11-23
帖子
92
18
 楼主| 发表于 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
19
 楼主| 发表于 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
星屑
220
在线时间
161 小时
注册时间
2015-11-23
帖子
92
20
 楼主| 发表于 2017-5-6 15:21:27 | 显示全部楼层
chainliu 发表于 2017-5-6 00:59
我是新人,照着你的步骤来弄,我弄完后,执行事件报错了呢?报错信息是:randomweapon is not defined, ...

建议你先检查一下你的代码里面有没有randomweapon,
另外js是分大小写的,
如果不行的话,可以看看你的代码。
自天地未辟混沌未开时就已经开始装逼的神奇人物
MV的魔塔模板::托管在github上的游戏,可以直接运行
基于RPGMakerMV的JavaScript基础
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-7 16:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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