OSXでSilverLight上のIronPythonを使って遊ぶ。

2007/05/13 18:17

※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】

SilverLightのインストール

(追記) Intel macでないと動作しません (忘れてた)

pythonを使うための準備

  $ sudo vi /private/etc/httpd/mime.types
  #末尾に追加
  text/python    py
  text/jscript    jsx

続いて、DLRConsole上のPythonを使ってアニメーションを作成しようと思ったのですが、.Net Framework3.0の純粋WPFに頭がやられてしまっていて、少し時間がかかりそうです(Ellipseを継承したクラスが作れないorz)。

とりあえずは、素敵なスクリーンキャストがあったのでみてみてください。

驚くことに、コンソールでは4つの言語、Ruby / Python / JScript / VB を同時に使っています。Pythonで作ったファンクションをJScriptから使ったりできちゃいます。

※DLRConsoleは英語キー配列で入力しなければなりません。また、コンソールは1行ごとにインタプリットされますが、PythonペインやXAMLペインは編集後、コントロール+エンターで内容が即時反映されます。

今、つまっているところ

例えば円(Ellipse)を作る場合に、位置指定の仕方がわからない。wpf.setPosition使わなきゃいけないのか?

それだとXAMLの記述と思考が一致しなくて困る(.Net Framework3.0+IronPythonだとこんなことはない)。

  py> from wpf import Ellipse
  py> e = Ellipse()
  py> e.Width = 10
  py> e.Height = 10
  py> e.Canvas.Top = 10
  System.MissingMemberException: couldn't find member Canvas at in , line 0

xamlを使えばできるけど、ランダムにたくさん作りたい場合に困る。というかLoadって遅そうなイメージが。。

  py> xaml_ellipse = """
  py| <Ellipse
  py| Width="10" Height="10"
  py| Canvas.Top="10" Canvas.Left="10" />"""
  py> x_e = wpf.XamlReader.Load(xaml_ellipse)
  py> canvas.Children.Add(x_e)

Prev Entry

Next Entry