查看: 5874|回复: 31

[有事请教] 如何给每个角色对应一个专有变量

[复制链接]
梦石
0
星屑
2457
在线时间
912 小时
注册时间
2014-10-14
回帖
1155

开拓者

发表于 2020-2-12 03:53:50 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
我想把变量设置成 角色单独使用一个变量可是搞不懂不能用

[pre lang="javascript"]        var Para_Name = ["武学"];
        for (var i = 0; i < 1; i++) {
        var index = this._actor.actorId() ;
        var y2 = y+ 426;
        this.changeTextColor(this.systemColor());
        this.drawText(Para_Name, x+700, y2, 50);
        this.contents.textColor = this.textColor(2);
        this.drawText($gameVariables.value(index), x + 800, y2, 60, 'right');
    }[/pre]

有没有路过的大佬 帮忙修改一下代码
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2020-2-13 14:43:54 | 显示全部楼层
this._actor._武学 = '葵花宝典'
this.drawText(this._actor._武学, x + 800, y2, 60, 'right');

点评

没这个本事。。。  发表于 2020-2-14 13:12

评分

参与人数 1赞 +1 收起 理由
j296196585 + 1 谢谢大佬回话

查看全部评分

回复

使用道具 举报

梦石
0
星屑
2457
在线时间
912 小时
注册时间
2014-10-14
回帖
1155

开拓者

 楼主| 发表于 2020-2-14 04:22:14 | 显示全部楼层
本帖最后由 j296196585 于 2020-2-14 04:32 编辑
yang1zhi 发表于 2020-2-13 14:43
this._actor._武学 = '葵花宝典'
this.drawText(this._actor._武学, x + 800, y2, 60, 'right');


谢谢大佬回话


可能我没有表达清楚意思哈

角色 1 用一个变量

角色 2 用一个变量

角色 3 用一个变量

这样子

下图这个我现在只学会了所有角色通用一个变量  可是更换角色就会很尴尬的说
[pre lang="javascript"]//=====================机械王座==============================================         
        if ($gameSwitches.value(42) == true){//条件变量
//          this.drawIcon( 3, x + 350, y, 60, 'right');//图标显示
                     this.changeTextColor('rgba(0,255,0,255)');                  
          this.drawText("机械王座:", x + 800, y +130, 100, 'right');//文字显示
                     this.changeTextColor('rgba(255,0,0,255)');                          
          this.drawText( + $gameVariables.value(55)+"%净化率", x + 850, y +130, 200, 'right');        //变量显示
          } else{
                     this.changeTextColor('rgba(0,255,0,255)');       
          this.drawText("机械王座:",  x + 800, y +130, 100, 'right');                  
        //  this.drawText("之塔:",  x + 680, y -20, 100, 'right');
                     this.changeTextColor('rgba(255,0,0,255)');                  
          this.drawText("关闭",  x  + 850, y +130, 100, 'right');               
        };
//=============================================================================        [/pre]
360截图20200214042814059.jpg
360截图20200214042925995.jpg

点评

你这样会占用$gameVariables变量。既然是每个角色一个变量,那就把变量给那个角色就可以了啊  发表于 2020-2-14 11:16
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复

使用道具 举报

梦石
0
星屑
3486
在线时间
294 小时
注册时间
2020-1-27
回帖
180
发表于 2020-2-14 08:45:20 | 显示全部楼层
var index = this._actor.actorId() ;
改成
var index = 100 + ( this._actor.actorId() * 10 ) + i ;
这样 就会在gameVariables 里从 100 往后 开始存角色属性 每个角色可以存10个属性。。。。
我感觉好蠢的方法。。。。

评分

参与人数 1赞 +1 收起 理由
j296196585 + 1 谢谢大佬回答

查看全部评分

回复

使用道具 举报

梦石
0
星屑
2457
在线时间
912 小时
注册时间
2014-10-14
回帖
1155

开拓者

 楼主| 发表于 2020-2-14 09:44:35 | 显示全部楼层
本帖最后由 j296196585 于 2020-2-14 10:25 编辑
zths 发表于 2020-2-14 08:45
var index = this._actor.actorId() ;
改成
var index = 100 + ( this._actor.actorId() * 10 ) + i ;




还有大佬不可妄自菲薄  大佬很厉害了


大佬我懂你的思路了

110号是第一个角色变量 120是第二个角色变量 以此类推 是不是

可能这是最好的方法了吧
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2020-2-14 11:24:18 | 显示全部楼层
本帖最后由 soulsaga 于 2020-2-14 13:14 编辑

可以塞到数组里..一个变量搞定全部角色..
[pre lang="javascript"]$gameVariables.value(55) = [""]
$gameVariables.value(55)[1] = "第一角色"
$gameVariables.value(55)[2] = "第二角色"


var index = this._actor.actorId()
this.drawText($gameVariables.value(55)[index], x + 800, y2, 60, 'right');
[/pre]

点评

谢谢 电脑一卡一卡的大哥的信息都看不见  发表于 2020-2-14 13:25
改好了..已更新  发表于 2020-2-14 13:13
w gc我电脑刚才卡了 看见这条代码 我试试看我会不会  发表于 2020-2-14 13:11
不会 大哥  发表于 2020-2-14 12:47

评分

参与人数 1赞 +1 收起 理由
j296196585 + 1 感谢大佬回话

查看全部评分

回复

使用道具 举报

梦石
0
星屑
2457
在线时间
912 小时
注册时间
2014-10-14
回帖
1155

开拓者

 楼主| 发表于 2020-2-14 13:21:31 | 显示全部楼层
soulsaga 发表于 2020-2-14 11:24
可以塞到数组里..一个变量搞定全部角色..
$gameVariables.value(55) = [""]
$gameVariables.value(55)[1] = ...

            this.drawText($gameVariables.value(55) = [0], x + 460, y + 15 );        //        名称坐标 X=左右 Y上下坐标
会报错 不知道我是不是没有写对
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复

使用道具 举报

梦石
0
星屑
2457
在线时间
912 小时
注册时间
2014-10-14
回帖
1155

开拓者

 楼主| 发表于 2020-2-14 13:30:50 | 显示全部楼层
soulsaga 发表于 2020-2-14 11:24
可以塞到数组里..一个变量搞定全部角色..
$gameVariables.value(55) = [""]
$gameVariables.value(55)[1] = ...

大哥 原地爆炸了

难道我姿势不对吗
360截图20200214133316439.jpg

点评

惨兮兮  发表于 2020-2-14 15:11
这方法好像不好使呢...算了..放弃  发表于 2020-2-14 13:58
可能是用错脚本了..MV不太熟..  发表于 2020-2-14 13:47
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复

使用道具 举报

梦石
0
星屑
3486
在线时间
294 小时
注册时间
2020-1-27
回帖
180
发表于 2020-2-14 15:20:16 | 显示全部楼层
本帖最后由 zths 于 2020-2-14 15:22 编辑
j296196585 发表于 2020-2-14 13:30
大哥 原地爆炸了

难道我姿势不对吗


说实话我还没见过在gamevar里存数组的……

不过你这个语法就有问题吧?…
你不能给值去赋值啊……
应该是给变量赋值
或者用Setter方法…

点评

当初学也是这样学的。。我也  发表于 2020-2-14 19:07
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2020-2-14 16:30:31 | 显示全部楼层
你既然可以获得this._actor这个角色参数。那么就直接使用this._actor就可以了。
赋值的时候就是this._actor这个角色后面点多少=多少,就是了。
this._actor._bianliang = 1
那么这个角色的_bianliang 这个变量,就是1了
那么你在显示的时候显示这个角色的this._actor._bianliang,那就是显示1
显示能力值不都是这样使用的吗。

你要是用在事件左上角,那用事件的$gameSwitches.value和$gameVariables.value是很方便。


//=====================机械王座==============================================         
        if (this._actor._kaiguan){//条件变量
//          this.drawIcon( 3, x + 350, y, 60, 'right');//图标显示
                     this.changeTextColor('rgba(0,255,0,255)');                  
          this.drawText("机械王座:", x + 800, y +130, 100, 'right');//文字显示
                     this.changeTextColor('rgba(255,0,0,255)');                          
          this.drawText( + this._actor._bianliang +"%净化率", x + 850, y +130, 200, 'right');        //变量显示
          } else{
                     this.changeTextColor('rgba(0,255,0,255)');        
          this.drawText("机械王座:",  x + 800, y +130, 100, 'right');                  
        //  this.drawText("之塔:",  x + 680, y -20, 100, 'right');
                     this.changeTextColor('rgba(255,0,0,255)');                  
          this.drawText("关闭",  x  + 850, y +130, 100, 'right');               
        };
//=============================================================================
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部