j296196585 发表于 2020-2-14 20:36 这个你首先要得到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 |
就拿这个来说 //=====================机械王座============================================== 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'); }; //============================================================================= |
本帖最后由 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); |
参与人数 1 | 赞 +1 | 收起 理由 |
---|---|---|
j296196585 | + 1 | 认可答案 |
你既然可以获得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'); }; //============================================================================= |
本帖最后由 zths 于 2020-2-14 15:22 编辑 j296196585 发表于 2020-2-14 13:30 说实话我还没见过在gamevar里存数组的…… 不过你这个语法就有问题吧?… 你不能给值去赋值啊…… 应该是给变量赋值 或者用Setter方法… |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2025-1-27 23:07
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.