2009-07-20 2 views
0

У меня есть этот кусок обуви приложения:Как применить границу к потоку по клику?

flow :top => 10, :left => 10 do 
    flow :width => 0.3 do 
    para @board.deck.card 
    click do 
     if @board.source_pile 
     @board.source_pile = nil 
     @deck_border.hide 
     else 
     @board.source_pile = @board.deck 
     @deck_border = border yellow, :strokewidth => 2 
     end 
    end 
    end 
end 

Я хотел бы применить границу только ко второму потоку, но по какой-то причине граница появляется вокруг всего приложения. Что мне не хватает?

ответ

1

Обувь имеет tricky blocks. В двух словах, в блоках, self обычно относится к приложению. Чтобы противостоять этому, мы должны создать переменную для потока, который мы хотим границу:

flow :top => 10, :left => 10 do 
    inner = flow :width => 0.3 do 
    para @board.deck.card 
    click do 
     if @board.source_pile 
     @board.source_pile = nil 
     @deck_border.hide 
     else 
     @board.source_pile = @board.deck 
     @deck_border = inner.border yellow, :strokewidth => 2 
     end 
    end 
    end 
end 
+0

аааа хороший: D Я пытался сделать поток сделать | внутренний | но это не сработало. Благодаря! – squil