Just one minor detail, the NSTimer callback method accepts an argument (which is a reference to the NSTimer object). So it should be: def drawWord(sender) … end If it works otherwise, then it's pure luck :) Laurent On May 24, 2011, at 10:50 PM, Thomas R. Koll wrote:
Laurent is right and and I think best would be for you to use a NSTimer.
def drawWord if !next_word self.timer.invalidate return end self.label.stringValue = next_word self.setNeedsDisplay true end
def next_word ... end
self.timer = NSTimer.scheduledTimerWithTimeInterval( 1/20.0, target:self, selector:"drawWord:", userInfo:nil, repeats:true)
Am 25.05.2011 um 02:06 schrieb azzzz@gmx.net:
I have a label that I have set to blank, and after a user clicks 'go' I generate a random word or number and use:
self.label.stringValue = "some_word"
to update the view.
However, I would like to show 200 or so random words in quick succession before the final one is shown - just because it's too plain at the moment. Alternatively, I'd be happy with showing an animated graphic in its place - which is replaced by the final random word after a few seconds.
I've tried things like:
100.times do num = rand(40) self.label.stringValue = num sleep 1 end
But it doesn't work. I've also (after googling) tried .reloadData but to no avail as well.
Any ideas on how to achieve this? Or pointers on how to add animations to my window/views?
-- Thomas R. "TomK32" Koll, Ruby/Rails freelancer http://ananasblau.com | http://github.com/TomK32
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel