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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: j296196585

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

[复制链接]

Lv4.逐梦者

梦石
0
星屑
10143
在线时间
3982 小时
注册时间
2014-4-11
帖子
5746

开拓者

发表于 2020-2-14 17:06:35 | 显示全部楼层
本帖最后由 yang1zhi 于 2020-2-14 17:08 编辑

另外
写到$gameVariables.value里的方法,确实是那样写的。

for (var i = 0; i < 1; i++) {
        var index = this._actor.actorId() ;
        
        this.drawText($gameVariables.value(index), x + 800, y2, 60, 'right');
    }



赋值是
$gameVariables.setValue(id, 111);
$gameSwitches.setValue(id, true);

点评

不知道为什么打开论坛卡的要命 进都进不来 谢谢大佬  发表于 2020-2-14 19:04

评分

参与人数 1+1 收起 理由
j296196585 + 1 认可答案

查看全部评分


差评如潮
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1993
在线时间
843 小时
注册时间
2014-10-14
帖子
1191

开拓者

 楼主| 发表于 2020-2-14 19:17:20 | 显示全部楼层
本帖最后由 j296196585 于 2020-2-14 19:28 编辑
yang1zhi 发表于 2020-2-14 16:30
你既然可以获得this._actor这个角色参数。那么就直接使用this._actor就可以了。
赋值的时候就是this._actor ...


大佬 可以悄悄告诉我 怎么使用吗

没有报错 可是我完全用不来了

我设置的那个开关也没有效果 打不开

360截图20200214192513195.jpg
360截图20200214193203822.jpg

点评

但是你FOR只循环了1次。所以只有一个显示  发表于 2020-2-14 20:05
当你选择开启后,上面那个就可以显示出0了  发表于 2020-2-14 20:05
你开关操作后,不还要变量操作吗,不然变量不是没有的吗。  发表于 2020-2-14 20:04
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
10143
在线时间
3982 小时
注册时间
2014-4-11
帖子
5746

开拓者

发表于 2020-2-14 20:12:51 | 显示全部楼层
就拿这个来说


//=====================机械王座==============================================         
        if ($gameSwitches.value(42) == true){//条件变量

这里设置了条件,就是必须要满足42号开关开能执行
你的事件选择开启,才会有这里的内容

//          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');        //变量显示

这里的变量显示。前面的+是多余的。这个55号变量。一开始是0,你的开启里面没有设置变量。所以他是0.

          } 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');               
        };
//=============================================================================

差评如潮
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1993
在线时间
843 小时
注册时间
2014-10-14
帖子
1191

开拓者

 楼主| 发表于 2020-2-14 20:36:05 | 显示全部楼层
本帖最后由 j296196585 于 2020-2-14 20:38 编辑


JAVASCRIPT 代码复制打印
  1. //=====================机械王座==============================================         
  2.         if (this._actor._kaiguan){//条件变量   
  3. //          this.drawIcon( 3, x + 350, y, 60, 'right');//图标显示
  4.                      this.changeTextColor('rgba(0,255,0,255)');                  
  5.           this.drawText("机械王座:", x + 800, y +130, 100, 'right');//文字显示
  6.                      this.changeTextColor('rgba(255,0,0,255)');                          
  7.           this.drawText( + this._actor._bianliang +"%净化率", x + 850, y +130, 200, 'right');        //变量显示
  8.           } else{
  9.                      this.changeTextColor('rgba(0,255,0,255)');        
  10.           this.drawText("机械王座:",  x + 800, y +130, 100, 'right');                  
  11.         //  this.drawText("之塔:",  x + 680, y -20, 100, 'right');
  12.                      this.changeTextColor('rgba(255,0,0,255)');                  
  13.           this.drawText("关闭",  x  + 850, y +130, 100, 'right');               
  14.         };
  15. //=============================================================================


     if (this._actor._kaiguan){//条件变量    这个怎么打开 哥哥


          this.drawText( + this._actor._bianliang +"%净化率", x + 850, y +130, 200, 'right');        //变量显示  这个怎么使用 哥哥


我自己的那个变量会用 哥哥你教我的那个变量不会用

360截图20200214204055244.jpg
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
10143
在线时间
3982 小时
注册时间
2014-4-11
帖子
5746

开拓者

发表于 2020-2-14 21:12:55 | 显示全部楼层
j296196585 发表于 2020-2-14 20:36
//=====================机械王座==============================================         
        if  ...

这个你首先要得到actor。
默认存放角色的变量是$gameActors
你要是知道ID,那么可以$gameActors.actor(id);
来获得角色
$gameActors.actor(1)就是1号角色
那么$gameActors.actor(1)._bianliang = 1
那么1号角色的_bianliang 这个变量就是1了。
就可以this.drawText显示出来。没有定义前是没有的。
所以在this.drawText前加个判断来回避一下

if (this._actor._bianliang) {var bianliang = this._actor._bianliang} else {var bianliang = 0}
this.drawText( bianliang  +"%净化率", x + 850, y +130, 200, 'right');
这样,当你没定义this._actor._bianliang这个变量前,他会显示0

点评

算了算了跟不上大佬节奏 溜了溜了 脑袋都大了  发表于 2020-2-14 21:43
我试试看 哈 等下回话  发表于 2020-2-14 21:14

差评如潮
回复 支持 反对

使用道具 举报

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

本版积分规则

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

站长信箱:fux2@moe9th.com|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2020-2-29 09:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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