我将这个块添加到了我的deck.rb:
text(str: 'Gain 1 :tribute:') do |embed|
embed.svg key: ':tribute:', file: 'tribute.svg'
end
但是,这会让我们获得1 [我的偶像]"进入每张卡片的左上角,但不是卡片文字所在的位置"获得1个致敬。"
如果我添加这一行,试图让它指定" Ability"我的.csv文件中的列:
%w(Ability).each do |key|
然后我收到一条错误消息:
"语法错误,意外的输入结束,期待keyword_end。"
我需要添加到我的deck.rb中,确切地说,为了使其能够使用tribute.svg
图标,只要“能力”栏中的卡片有文字,"获得1致敬" ?
这是我当前的deck.rb:
require 'squib'
require 'game_icons'
Squib::Deck.new(cards: 4, layout: %w(hand.yml layout.yml)) do
background color: '#FFFFFF'
data = csv file: 'country.csv'
png file: data['Art'], layout: 'Art'
%w(Title Ability Quote Type Subtype).each do |key|
text str: data[key], layout: key, markup: true
end
%w(Tribute Power Dominion).each do |key|
svg file: "#{key.downcase}.svg", layout: "#{key}Icon"
text str: data[key], layout: key
end
text(str: 'Gain 1 :tribute:', x: 275, y: 745) do |embed|
embed.svg key: ':tribute:', file: 'tribute.svg'
end
save_png prefix: 'country_'
end
答案 0 :(得分:1)
text方法需要指定x和y。像这样:
text(str: 'Gain 1 :tribute:', x: 300, y: 500) do |embed|
embed.svg key: ':tribute:', file: 'tribute.svg'
end
至于语法错误,每个do
都需要end
,因为您正在定义一个块。虽然这部分似乎与你问题的第一部分无关。剪掉的%w(Ability).each
对我来说似乎很愚蠢,因为它只是迭代一个1元素的数组。