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

Project1

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

[有事请教] 【已解决】如何将b的数组通过变量转化成a的数组

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7852
在线时间
1349 小时
注册时间
2015-8-15
帖子
754
跳转到指定楼层
1
发表于 2023-8-10 07:46:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 金芒芒 于 2023-8-10 10:17 编辑

b=([[3],[4],[5],[6],[7]])
$game_variables[18]= b
a=$game_variables[18]
x=544
for i in a
$game_screen.pictures.show("头像#{i}", 0,
x, 550, 100, 100, 255, 0)
x-=87
end

错误提示.png (18.46 KB, 下载次数: 27)

错误提示.png

b数组.png (28.4 KB, 下载次数: 34)

b数组.png

Lv3.寻梦者

梦石
0
星屑
4721
在线时间
387 小时
注册时间
2012-11-8
帖子
276
2
发表于 2023-8-10 08:46:02 | 只看该作者
你现在这样直接=赋值会有个问题,通过a,b,$game_variables[18]任意一个改变数组其中某个值,其他2个同样会变化,因为x=某数组相当于把该数组的指针赋值给x,所以a,b,$game_variables[18]指向的都是同一个,要让数组a=数组b,建议这么写a=Marshal::load(Marshal.dump(b))
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7852
在线时间
1349 小时
注册时间
2015-8-15
帖子
754
3
 楼主| 发表于 2023-8-10 09:11:41 | 只看该作者
本帖最后由 金芒芒 于 2023-8-10 09:51 编辑
qq634488405 发表于 2023-8-10 08:46
你现在这样直接=赋值会有个问题,通过a,b,$game_variables[18]任意一个改变数组其中某个值,其他2个同样会 ...


这个b是不是代表5个数组,结果不成功
b=([[3],[4],[5],[6],[7]])
a=Marshal::load(Marshal.dump(b))
x=544
for i in a
$game_screen.pictures.show("头像#{i}", 0,
x, 550, 100, 100, 255, 0)
x-=87
end

下面这个成功了
b=[2,3,4,5,6]
a=Marshal::load(Marshal.dump(b))
x=544
for i in a
$game_screen.pictures.show("头像#{i}", 0,
x, 550, 100, 100, 255, 0)
x-=87
end

错误提示1.png (18.46 KB, 下载次数: 27)

错误提示1.png

19.png (213.4 KB, 下载次数: 33)

19.png

点评

上面那个for i in a,这里的i是个数组  发表于 2023-8-11 08:24
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7852
在线时间
1349 小时
注册时间
2015-8-15
帖子
754
4
 楼主| 发表于 2023-8-11 09:31:54 | 只看该作者
qq634488405 发表于 2023-8-10 08:46
你现在这样直接=赋值会有个问题,通过a,b,$game_variables[18]任意一个改变数组其中某个值,其他2个同样会 ...

谢谢大神补贴
b=([[3],[4],[5],[6],[7]])
c=Marshal::load(Marshal.dump(b))
a=c.flatten
#p a #=> [3,4,5,6,7]
x=544
for i in 0...a.length
$game_screen.pictures[i+1].show("头像#{a
}", 0,x, 550, 100, 100, 255, 0)
x-=87
end
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36497
在线时间
10811 小时
注册时间
2009-3-15
帖子
4815
5
发表于 2023-8-11 23:02:01 | 只看该作者
这是怎么行得通的..没有写错吗?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7852
在线时间
1349 小时
注册时间
2015-8-15
帖子
754
6
 楼主| 发表于 2023-8-12 07:53:06 | 只看该作者
soulsaga 发表于 2023-8-11 23:02
这是怎么行得通的..没有写错吗?


角色偏差了一位0代表1 ,1代表2不过能用 跟士兵ID差1
不过现在敌方是解决enermy_selected_troops =[[[3],[4],[5],[6],[7]] ]
我方team_selected_troops = @selected_units 我就转存不了数字了通过team_selected_troops窗口添加数组
读不出来
b=([[3],[4],[5],[6],[7]])
c=Marshal::load(Marshal.dump(b))
a=c.flatten
#p a #=> [3,4,5,6,7]
x=544
for i in 0...a.length
$game_screen.pictures[i+1].show("头像#{a}", 0,x, 550, 100, 100, 255, 0)
x-=87
end
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36497
在线时间
10811 小时
注册时间
2009-3-15
帖子
4815
7
发表于 2023-8-12 10:45:01 | 只看该作者
本帖最后由 soulsaga 于 2023-8-12 10:46 编辑
金芒芒 发表于 2023-8-12 07:53
角色偏差了一位0代表1 ,1代表2不过能用 跟士兵ID差1
不过现在敌方是解决enermy_selected_troops =[[[3], ...


RUBY 代码复制
  1. [i]的部份被论坛吞了..难怪看不见
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-4 03:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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