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

Project1

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

[有事请教] 有没有方法在事件里用函数改变某个敌人的攻击防御

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1410
在线时间
183 小时
注册时间
2017-1-29
帖子
92
跳转到指定楼层
1
发表于 2018-5-27 10:27:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
有没有方法在事件里用函数改变某个敌人的攻击防御

Lv2.观梦者

梦石
0
星屑
489
在线时间
84 小时
注册时间
2018-4-16
帖子
51
2
发表于 2018-5-27 11:00:00 | 只看该作者
可以设置一个状态或者被动技能,在事件中附加此状态或者学会此技能。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

3
发表于 2018-5-27 11:53:03 | 只看该作者
敌人在这个里面
$gameTroop._enemies
一号是  $gameTroop._enemies[0]
以此类推


然后加减能力值
可以用
addParam
用法是
$gameTroop._enemies[0].addParam(序号 , 数值)
序号就是0是HP,1是MP,自己数。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1410
在线时间
183 小时
注册时间
2017-1-29
帖子
92
4
 楼主| 发表于 2018-5-27 17:26:43 | 只看该作者
yang1zhi 发表于 2018-5-27 11:53
敌人在这个里面
$gameTroop._enemies
一号是  $gameTroop._enemies[0]

大佬 $gameTroop._enemies[0].addParam(0,100) 报错呢

点评

另外,这是战斗中敌人列表。只有战斗中的敌人有产生数据  发表于 2018-5-27 18:35
报错的那里,你按F8,截图  发表于 2018-5-27 18:34
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1410
在线时间
183 小时
注册时间
2017-1-29
帖子
92
5
 楼主| 发表于 2018-5-28 09:04:16 | 只看该作者
yang1zhi 发表于 2018-5-27 11:53
敌人在这个里面
$gameTroop._enemies
一号是  $gameTroop._enemies[0]

$dataEnemies[1].params[0]=100   原来params[0]是个数组以前还以为只能读取数据  这样就可以在非战斗中改变数据库中敌人的HP了

点评

不可以,data是数据库,不要改数据库。没用的。敌人的数据没有建立,全都是战斗时才建立的。  发表于 2018-5-28 10:28
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1410
在线时间
183 小时
注册时间
2017-1-29
帖子
92
6
 楼主| 发表于 2018-5-28 09:27:02 | 只看该作者
yang1zhi 发表于 2018-5-27 11:53
敌人在这个里面
$gameTroop._enemies
一号是  $gameTroop._enemies[0]

大佬$gameActors._data[1]和$gameActors.actor(1)  有什么区别吗?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

7
发表于 2018-5-28 10:25:04 | 只看该作者
风之竹 发表于 2018-5-28 09:27
大佬$gameActors._data[1]和$gameActors.actor(1)  有什么区别吗?

有区别,也没区别。
actor()是个方法(函数),函数是什么呢
你可以理解为一套武功,一套武功呢,他有各种招式吧。
那个_data就可以理解为招式了。

然后我们来看看$gameActors.actor这个函数都有什么内容

Game_Actors.prototype.actor = function(actorId) {
//判断数据库里是否有这个ID
    if ($dataActors[actorId]) {
//判断已经生成的列表里是否有这个ID
        if (!this._data[actorId]) {
//假如没有,就新生成
            this._data[actorId] = new Game_Actor(actorId);
        }
//输出列表里的这个ID所在内容,并结束
        return this._data[actorId];
    }
//输出空值
    return null;
};

我们可以看出这套武功里面其实也是读取的$gameActors._data
不同的是他有两条分别判断数据库和列表里是否存在
假如你自己能区分,自然直接使用$gameActors._data和使用$gameActors.actor是没什么区别的
使用$gameActors.actor的话,就会帮你判断了。
不过其实你应该是知道你要用的角色是不是存在的。判断不判断影响不大。

当然有些函数里面就只是指向一个值,那就没什么区别。
后面有带()的就是函数
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1410
在线时间
183 小时
注册时间
2017-1-29
帖子
92
8
 楼主| 发表于 2018-5-28 18:11:07 | 只看该作者
yang1zhi 发表于 2018-5-28 10:25
有区别,也没区别。
actor()是个方法(函数),函数是什么呢
你可以理解为一套武功,一套武功呢,他有 ...

大佬事件页里 等待的函数怎么写?我在网上查的$gameInterpreter.wait(60);   好像不行

点评

函数要用这样的要过。你就要不断的去执行这个函数,然后在函数里判断是否到了执行的时间了  发表于 2018-5-28 18:17
写不了。等待只对事件有用,对函数没用。所以你就用事件的等待就好。  发表于 2018-5-28 18:16
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-9 23:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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