Project1

标题: 如何添加一个脚本 [打印本页]

作者: 康姆图帕帕    时间: 2018-6-20 17:58
标题: 如何添加一个脚本
目的非常简单,我想加入一个脚本$gV.v()来代替$gameVariables.value(),
只用于在游戏中表示相应的变量,不参与其他基础脚本的代码。

已经改过rpg_managers和rpg_objects了,.v正常,但是$gV没有作用。求助!


    $gameVariables     = new Game_Variables();
    $gV                         = new Game_Variables();

作者: yang1zhi    时间: 2018-6-20 17:58
本帖最后由 yang1zhi 于 2018-6-20 19:47 编辑

你说的是变量吧。
不是脚本

一个变量可以再生成无数个变量的

比如来把1号变量改变一下

$gameVariables._data[1] = {}
先在一开始这样设一下

然后$gameVariables._data[1][0]以及$gameVariables._data[1][1]等等,都可以使用了。
可以设$gameVariables._data[1][0] = 0

也可以把变量设在$gameParty.里面
$gameParty._bianliang = 0
这样$gameParty._bianliang就是0了

.v()  后面带()号的都是函数,要在脚本里先写好函数才能使用

比如$gameVariables.value()
后面的value函数就是

Game_Variables.prototype.value = function(variableId) {
    return this._data[variableId] || 0;
};

作者: 康姆图帕帕    时间: 2018-6-20 20:11
yang1zhi 发表于 2018-6-20 19:42
你说的是变量吧。
不是脚本

感谢回复,我没看明白这个变量再生的过程,不过真的很感兴趣,能再讲一下它的使用方法吗?

顺便说下我的问题刚刚解决了,只要
$gV                = $gameVariables;
就可以了,之前真是蠢到家了

说明一下想改脚本的原因:我不怎么懂脚本,做的还不是rpg,游戏目前是由几百个图片和公共事件搭的,规则也几乎完全是公共事件写的,因此对showPicture的需求越来越大。
为了精简事件,我经常重写共事件库,最长一条showPicture已经变成这样
$gameScreen.showPicture(310+$gameVariables.value(59),"C310A1",1,129-2*Math.sin(0.24*$gameVariables.value(122)),169-1*Math.sin(0.16*$gameVariables.value(122)),100+3*Math.sin(0.6*$gameVariables.value(122)),100+3*Math.sin(0.6*$gameVariables.value(122)),192,3)

所以只是想把$gameVariables.value()缩短一下来节约工作量...
作者: yang1zhi    时间: 2018-6-20 20:24
康姆图帕帕 发表于 2018-6-20 20:11
感谢回复,我没看明白这个变量再生的过程,不过真的很感兴趣,能再讲一下它的使用方法吗?

顺便说下我的 ...

比如我把你写的这个改成函数


Game_Party.prototype.sui_bian_xie = function() {
var pictureId = 310+$gameVariables.value(59)
var name = "C310A1"
var origin = 1
var x = 129-2*Math.sin(0.24*$gameVariables.value(122))
var y = 169-1*Math.sin(0.16*$gameVariables.value(122))
var scaleX = 100+3*Math.sin(0.6*$gameVariables.value(122))
var scaleY = 100+3*Math.sin(0.6*$gameVariables.value(122))
var opacity = 192
var blendMode = 3
$gameScreen.showPicture(pictureId ,name ,origin ,x,y,scaleX ,scaleY,opacity,blendMode)
}

然后你在事件的脚本功能里面,就可以使用
$gameParty.sui_bian_xie()
来使用了
作者: 康姆图帕帕    时间: 2018-6-20 20:38
yang1zhi 发表于 2018-6-20 20:24
比如我把你写的这个改成函数

懂了!记笔记ing...
不过我这大概有几百条这样的函数组,所以对眼前的工程应该是派不上用场了。

我已经尽力量化了,大量的图片和帧动画已经能用变量表示了,都存在公共事件库里,里面都是针对某张或某组图片独特的函数。

今天把图片的图层和文件名量化一下,以后想重组整个图片库的顺序和名称,也是几个变量的事
最后,整个游戏的运行就是一张空白地图和一个并行事件了。
作者: 康姆图帕帕    时间: 2018-6-20 22:34
本帖最后由 康姆图帕帕 于 2018-6-21 00:29 编辑
yang1zhi 发表于 2018-6-20 20:24
比如我把你写的这个改成函数


我懂你的意思,不过确实不好套,因为这些图片一般是帧动画(图片名称不统一),背景和HUD(图片ID不统一),实体(ID和位置不统一),不同类型互不关联,极少会共用参数,简化方式一般只能做到共用变量,然后在showPicture里单独调整。

顺便问一下,pictureId在脚本中怎么表达?我改了this._name = pictureId+name ,然而pictureId is not defined...

------解决了,好烦啊,基本靠猜的,心疼浪费的时间





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