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

Project1

 找回密码
 注册会员
搜索
查看: 5410|回复: 8
打印 上一主题 下一主题

[有事请教] 如何添加一个脚本

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9059
在线时间
1934 小时
注册时间
2016-6-19
帖子
364
跳转到指定楼层
1
发表于 2018-6-20 17:58:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
20星屑
目的非常简单,我想加入一个脚本$gV.v()来代替$gameVariables.value(),
只用于在游戏中表示相应的变量,不参与其他基础脚本的代码。

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


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

最佳答案

查看完整内容

你说的是变量吧。 不是脚本 一个变量可以再生成无数个变量的 比如来把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() 后面带()号的都是函数,要在脚本里先写好函数才能使 ...

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

2
发表于 2018-6-20 17:58:44 | 只看该作者
本帖最后由 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;
};

评分

参与人数 1+1 收起 理由
康姆图帕帕 + 1 确实写了个新函数,只是一开始不起作用,现.

查看全部评分

回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9059
在线时间
1934 小时
注册时间
2016-6-19
帖子
364
3
 楼主| 发表于 2018-6-20 20:11:42 | 只看该作者
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()缩短一下来节约工作量...

点评

代码的长度吗。这个你在脚本里写个函数。然后公共事件里只写那个函数就行了  发表于 2018-6-20 20:15
你把他们等起来了,那直接使用 $gameVariables也一样吧  发表于 2018-6-20 20:13
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

4
发表于 2018-6-20 20:24:09 | 只看该作者
康姆图帕帕 发表于 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()
来使用了
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9059
在线时间
1934 小时
注册时间
2016-6-19
帖子
364
5
 楼主| 发表于 2018-6-20 20:38:52 | 只看该作者
yang1zhi 发表于 2018-6-20 20:24
比如我把你写的这个改成函数

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

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

今天把图片的图层和文件名量化一下,以后想重组整个图片库的顺序和名称,也是几个变量的事
最后,整个游戏的运行就是一张空白地图和一个并行事件了。

点评

那你可以找他们的共同点,把共同点设在一起,只调整不同的地方。或者可以套个公式  发表于 2018-6-20 22:03
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9059
在线时间
1934 小时
注册时间
2016-6-19
帖子
364
6
 楼主| 发表于 2018-6-20 22:34:13 | 只看该作者
本帖最后由 康姆图帕帕 于 2018-6-21 00:29 编辑
yang1zhi 发表于 2018-6-20 20:24
比如我把你写的这个改成函数


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

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

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 04:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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