这正是我想要做的事情:每当我的一张牌在我的.csv的“能力”列中有“获得1点贡献”时,输出就是“获得1 [我的贡品图标]”卡片的文本框,格式化,使其成为常规Ability文本的一部分。这可能吗?
P.S。另外,如何让图标具有透明背景?我已经将它们保存在game-icons.net中,但它们总是以白色背景显示。这是我尝试过的:
require 'squib'
require 'game_icons'
Squib::Deck.new(cards: 4, layout: %w(hand.yml layout.yml), width: 825, height: 1425) do
background color: '#FFFFFF'
rect x: 0, y: 0, width: 825, height: 1425, x_radius: 38, y_radius: 38
data = csv file: 'country.csv'
png file: data['Art'], layout: 'Art'
png file: 'textbox.png', x: 50, y: 890
png file: 'titlebox.png', x: 65, y: 30
tribute = data['Tribute']
colorl = tribute.collect { |x| fg(x) }
background color: tribute.map.with_index { |x,i| bg_grad(x, attrr[i]) }
text str: data['Tribute'], layout: :Tribute, color: colorl
svg file: tribute.collect {|x| icon(x)}, layout: :TributeIcon
end
%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
save_png prefix: 'country_'
end
但是,我现在收到预期的输入结束错误!
答案 0 :(得分:2)
由于.collect
构造需要单个值或所有内容的列表,因此您需要在现有阵列上使用类似ability = csvfile['Ability']
ability_offset = ability.collect { |x| choose_offset(x) }
ability_icon = ability.collect { |x| choose_icon(x) }
ability_icon_x = ability.collect { |x| choose_icon_loc(x) }
的内容,可能需要使用几个,因为我不需要了解如何将图像插入文本。
所以,你需要像...这样的东西。
text
然后像往常一样在svg
和<path>
命令中使用这些列表,如果没有显示,可能会显示空的存根图像,以保持一致性。
对于图像,查看几个样本, I 将使用透明黑色图标并手动或自动编辑文件,以便fill="white"
包括一个stroke="black"
属性,如果它有用,可能还有library(stringr)
library(devtools)
full_patterns <- source_gist("446417161352179ce42c")$value
literal_strings <- source_gist("21f5cf342e20c6e4a1e8")$value
literal_strings <- literal_strings[order(nchar(literal_strings), decreasing = TRUE)]
regex_list <- list()
for (i in 1:length(literal_strings)){
regex_list[i] <- paste0("(?<=", literal_strings[i], "?)(?:I\\d-?)*I3(?:-?I\\d)*")
}
IVs_identified <- list()
DVs_identified <- list()
for (i in 1:length(regex_list)){
DVs_identified[[i]] <- lapply(full_patterns, str_extract_all, regex_list[[i]])
IVs_identified[[i]] <- lapply(full_patterns, str_extract_all, literal_strings[[i]])
}
data.frame(unlist(DVs_identified), unlist(IVs_identified))
length(unlist(DVs_identified))
length(unlist(IVs_identified))
。