2017-02-11 19 views
0

我試圖在卡片上使用circle命令設置多個令牌點。我想嘗試使用x-y座標的數組,但它只打印數組的第一個元素。下面是代碼的相關行:Squib:使用「circle」命令的陣列

circle x: [75, 150, 325, 500, 675, 750], y: [900, 1050, 1050, 1050, 1050, 900], 
radius: 62.5, stroke_width: 2 
+0

看來,'Squib'的'circle'方法需要x'的'值和'y'(爲中心座標)是整數。你爲什麼希望他們成爲數組?你是否試圖繪製六個半徑相同的圓和'stroke_width'(以[75,900]','[150,1050]'爲中心等等)?如果是這樣,我認爲你需要這樣的東西:'a = [75,150,325,500,675,750]; b = [900,1050,1050,1050,1050,900]; a.zip(b).each {| x,y |圓x:x,y:y,半徑:62.5,stroke_width:2}'。 –

回答

0

給予數組啞炮它們映射到不同的牌,因爲Squib Thinks in Arrays

因此,您的代碼會將圓圈放在其他卡片上。

要做到在同一張卡上的多個圈,做這樣的事情:

require 'squib' 

Squib::Deck.new(cards: 6) do 
    background color: :white 
    xs = [75, 150, 325, 500, 675, 750] 
    ys = [900, 1050, 1050, 1050, 1050, 900] 
    (0..5).each do |i| 
    circle x: xs[i], y: ys[i], radius: 62.5, stroke_width: 2 
    end 
    save_png 
end 

或者你可以在你的問題的註釋使用的zip答案。

(全面披露:我是啞炮DEV)