2006年12月のアーカイブ

「葵」開発を本格始動

多忙2.0状態で、何もできなかったのですが、ようやく未踏プロジェクトの開発が本格始動できそうです。
今回、開発がすぐに開始できない分、採択が決まってから、いろいろな人に考えていることを話してフィードバックを得ました。

完成するものがどんなものなのかは当然として、どうやって実現するのか、開発後の継続開発のこととかも、いろいろ話すことができました。

今回は、日本語プログラミング言語を用いて、WEBブラウザや携帯電話で動かすことができるプログラミング言語「葵」を作ります。

携帯電話上で、テトリスやブロック崩しやクイズゲームなどの簡単なゲーム、ローン計算や見積もりなどの簡単なツールが簡単に作れるようにしたいと思います。

Web上で、プログラミングできるような開発環境を用意して、「誰でも気軽に日本語でプログラミングできる!」というのをキャッチフレーズにして作ろうと思います。

技術的には、Flash/Flash Lite2上で、葵のバイトコードを動かすというものです。
そして、コンパイラは、Linux/Mac/Windowsのプラットフォームで動くものにしたいのです。

現在の葵はCでできています。Cは移植性が高いので、すばらしいのですが、私がやると、ぜんぜん開発速度が出ないです。生産性のは、Delphiで書いている時の10分の1くらい。
そこで、このままの生産性を引きずるより、ライブラリが多く、私の開発力が最大限生かせる、.net上で動くDelphiでやろうかと考えています。(この辺りも挑戦です。)

加えて、既存のDelphi製のなでしこ、サクラという私のソフトも.net対応させて、mono上で、Linux/Macで動くと最高です。
・・・

と、思ったのですが、
Delphiがmono上でどうもうまく動かないとの記事を読み...
Javaでやろうかなぁと
再度計画を練り直すのでした。

参考)
http://faq.sakura.ne.jp/wiki/wiki.cgi?ASP.NET

投稿者 kujira : 14:24 | トラックバック

FlashでBasic認証

FlashでBasic認証をする方法。
参考は、以下のスレッド。
http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=605&forum=7&post_id=6065#forumpost6065

どうやら、アクセスするURLを以下のようにすれば良いということ。
http://"ID":"password"@aaa.bbb.com/cgi-bin/test.cgi
せっかくなので試してみました。ですがうまくいきませんでした。うーん?!

そこで、「addRequestHeader()」でヘッダを足す方法で挑戦。
すると、以下のようなソースでうまくいきました。

var url  = "http://example.com/example.php";
var user = "user";
var pass = "pass";
var auth_str = Base64.encode(user + ":" + pass);
lv.addRequestHeader("Authorization","Basic " + auth_str);
lv.sendAndLoad(url, res, "POST");

BASIC認証は、Base64が必要なので、Base64も前に自分で作ったやつを使ってみました。
Base64.asをダウンロード
ダウンロードしたBase64.asをFlashと同じフォルダにコピーして使います。


投稿者 kujira : 16:54 | トラックバック

Flash Lite2.0のキャリア動向まとめ

*携帯電話キャリア動向まとめ
http://level0.cuppy.co.jp/2006/10/flashlite20.html

ソフトバンクのFlash Lite2.0がSharedObjectを使えないそうで、
期待していただけに致命的です。
ちょっとした設定ファイルも、サーバー側に保存する必要があるのかぁ。

■ソフトバンク
対応機種:910SH、810SH、811SH、910T、810T、811T
■AU
W43SA、W45T、W43CA、W43H、W43S、W43K、W42SA
■DoCoMo
未定

投稿者 kujira : 20:16 | トラックバック

Flashで様々なサイトからデータを取る

前試した時は、だめだと思っていたけど、 Flashなら、様々なサイトからデータを取ることができるようです。 ===

class test {
    static function main()
    {
        var txt:TextField = _root.createTextField("txt", 100,0,0,400,400);
        txt.text = "*";
        var ld:LoadVars = new LoadVars();
        ld.onData = function (s2) {
            txt.text += ("nadesi.com~" + s2 + "\n");
            //
        };
        ld.load("http://nadesi.com/test.txt");
        var ld2:LoadVars = new LoadVars();
        ld2.onData = function (s) {
            txt.text += ("aoi-project=" + s + "\n");
        };
        ld2.load("http://aoi-project.com/test.txt");
        var ld3:LoadVars = new LoadVars();
        ld3.onData = function (s3) {
            txt.text += ("kujira-test=" + s3 + "\n");
        };
        ld3.load("http://kujirahand.com/test.txt");
    }
}
===
ただ、条件があって、各サイトに、以下のようなcrossdomain.xmlが置かれている必要ありです。 ===

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*" />
</cross-domain-policy>
===
各所で置かれているAPIでは、だいたい、これが設置されているので、 APIを渡り歩くことができそうです。
投稿者 kujira : 08:37 | トラックバック

MTASCの配列チェック機能を使え!

せっかくActionScript2.0を使っても、配列の中身はどうしても
タイプセーフにならない。
ところが、フリーのActionScript2コンパイラのMTASCは、配列をチェックしてくれる。
===
/*# Strictly typed arrays :*/
var x : /*String*/ Array;
===
こんな感じで書くらしい。

試しに、
===
class a {
function main()
{
var b:/*String*/Array;
b = new Array();
b[0] = 30;
}
}
===
こんなん書いてみたら、無事エラー出ました。
意外と重宝しそう。

投稿者 kujira : 20:24 | トラックバック

mac + ActionScript + vi

Mac 上で、vi で ActionScriptを書く時のTips

「Vim6.3」の場合は以下:
http://www.dango-itimi.com/blog/archives/2005/000738.html

Mac OSX 10.4.8 のvimは、6.2なので、ちょっと手順が違う。

(1)下記のサイトより、ActionScriptの辞書ファイルをダウンロード
http://bitmap.dyndns.org/blog/archives/001207.html

(2)下記のサイトより、ActionScriptのハイライト定義ファイルをダウンロード
http://www.vim.org/scripts/script.php?script_id=1061
(3)Vimのインストールフォルダ /usr/share/vim/vim62 を $VIM と置き換えて読んでください。
(4)辞書ファイルを、$VIMにコピー
(5)ハイライトファイルを、$VIM/syntax/にコピー
(6)$VIM/filetype.vim に以下を追記
===
au BufRead,BufNewFile *.as set filetype=actionscript
autocmd FileType actionscript :set dictionary=/usr/share/vim/vim62/actionscript.dict
===

ちなみに、上記のサイトに書りますが、
と入力すれば、辞書からの検索を行うことが出来ます。
:set complete+=k
とすると、通常の単語補完 から辞書を呼び出せます。

の一行を追加すればよい (k は辞書オプション)。

投稿者 kujira : 12:11 | トラックバック

未踏に採択されました!

無事、未踏に採択されました!

雰囲気的には、葵がFlash上で動くようにします!
雰囲気的には、なでしこが、Webブラウザや携帯電話で動くようになる感じを想像しています。

なんとか成果を出せるようにがんばろうと思います!

[なでしこ]
http://nadesi.com
[葵]
http://aoi-project.com

[IPA]
http://www.ipa.go.jp/about/press/20061130.html
[news]
http://www.thinkit.co.jp/free/news/0612/1/3.html

投稿者 kujira : 08:20 | トラックバック