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

Project1

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

[已经解决] Sprite_Battler的改写问题

[复制链接]

Lv5.捕梦者

梦石
0
星屑
37910
在线时间
5449 小时
注册时间
2006-11-10
帖子
6554
1
发表于 2021-3-31 10:13:39 | 显示全部楼层
因为, @battler.states是"对象"而不是"返回值"

if @battler.states != @battler_states#####3
   @battler_states = @battler.states
   p 2
end

你这句就是把 @battler_states "绑定" @battler.states 这个对象, 那自然, 除了第一次 @battler_states是nil,因此 != @battler.states 判定有效外, 其他时候, ==都是成立的, 因为就是"同一个人"嘛

举个栗子, 今天改名叫张三,明天改名叫李四, 你不一样还是你,  而你今天带个帽子,明天披个披风, 那对 你 == 你 这个判定有影响么?

那怎么才能让判定生效?

if @battler.states != @battler_states#####3
   @battler_states = @battler.states.dup
   p 2
end

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 08:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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