ruby-aws を Ruby 1.8.5 でも使うためのパッチ
May 6th, 2009
Amazon アソシエイトに登録して早速アサマシろうとしたら上手くいかなかった。
ruby-aws が Ruby 1.8.6 から導入された instance_variable_defined? を使ってるせいのようだ (このサーバーに入ってる Ruby は 1.8.5) 。
--- aws.rb.org 2009-03-29 08:04:23.000000000 +0900
+++ aws.rb 2009-05-06 12:42:22.000000000 +0900
@@ -314,10 +314,10 @@
def to_s # :nodoc:
- if instance_variable_defined?( :@__val__ )
+ #if instance_variable_defined?( :@__val__ )
return @__val__ if @__val__.is_a?( String )
- remove_val
- end
+ # remove_val
+ #end
string = ''
で、とりあえず動いた。
Filed in Ruby
No comments
パスが重なった時の描画
May 5th, 2009
ちょっとしたことだけど、メモ。
昔、Guilloches を書いた時、初めは線をつないでいく部分をこうしていた。
g.lineStyle(1, color, 0.3);
g.moveTo((r * 2 + R + p) * scale, 0);
for (var i:int = 1; i <= steps; i++) {
t += dt;
x = (rR * Math.cos(t) + rp * Math.cos(rR/r * t)) * scale;
y = (rR * Math.sin(t) + rp * Math.sin(rR/r * t)) * scale;
g.lineTo(x, y);
}
が、これだとこんな感じになって線の重なりが表現できない。

仕方なく bitmapData にちょっとずつ draw するという変なことして重なった部分がより濃くなるようにしていた。
g.lineStyle(1, color, 0.3);
g.moveTo((r * 2 + R + p) * scale, 0);
bitmap.lock();
bitmap.fillRect(bitmap.rect, 0x000000);
for (var i:int = 1; i <= steps; i++) {
t += dt;
x = (rR * Math.cos(t) + rp * Math.cos(rR/r * t)) * scale;
y = (rR * Math.sin(t) + rp * Math.sin(rR/r * t)) * scale;
g.lineTo(x, y);
if ((i & 7) == 0) {
bitmap.draw(shape, matrix);
g.clear();
g.lineStyle(1, color, 0.3);
g.moveTo(x, y);
}
}
bitmap.unlock();
でも実はこれでいいことにちょっと前気づいた。
g.lineStyle(1, color, 0.3);
g.moveTo((r * 2 + R + p) * scale, 0);
for (var i:int = 1; i <= steps; i++) {
t += dt;
x = (rR * Math.cos(t) + rp * Math.cos(rR/r * t)) * scale;
y = (rR * Math.sin(t) + rp * Math.sin(rR/r * t)) * scale;
g.lineTo(x, y);
g.moveTo(x, y);
}

パスを一旦切ってやればよかったみたい。
Filed in ActionScript
No comments
« ‹ 1 › »