タグ

ブックマーク / tech.nitoyon.com (46)

  • as3corelib の JSON.decode() をいい加減な JSON に対応させる - てっく煮ブログ

    asJSON は手軽に書けていいのですが、仕様がちょっと厳密すぎるところもあるので緩い JSON で書きたくなる。JSON の仕様で個人的に面倒だと思うのは次の3つ。object や array の最後に , があるとエラーになるobject のキーは文字列じゃないといけない0.3 を .3 と書くとエラーになるたとえば、次のような JSON はパースエラーとなる。 { a: .3, b: .4, c: .9, } 当はこうすべき。 { // a → "a" "a": 0.3, // .3 → 0.3 "b": 0.4, "c": 0.9 // カンマを削った } オレオレなプロジェクトで JSON を手書きするときには、この3つの制限を緩和してあげたくなる。json.org の仕様には違反しちゃうけど、書きやすさを優先で GO!!!そこで、ActionScript の定番 JSON パ

    os0x
    os0x 2009/12/28
    JavaScriptとしてeval → JSON.stringifyで出力って処理を自動化すればいいじゃん。
  • はてブ受けしそうな記事を書いて、1ヶ月で約3万円を稼いだ顛末 - てっく煮ブログ

    このブログでは今年の2月ぐらいから Google AdSense の広告を貼っていました。どれぐらい儲かるんだろうとワクワクしていたのですが、普通に記事を書いていても期待はずれな収入でした。そこで、はてなブックマークでウケそうな記事を集中的に公開して、ページビューを稼いでどれだけ広告収入が増えるか試してみることにしました。調査期間2009日5月10日〜5月末方針海外のデザイン系ブログを少し翻訳して転載しただけの記事を書くことはプライドが許しません。かといって即時性では有名ブログには勝てないので、「個人的には面白いのに世間ではあまり知られていないものを分かりやすく紹介する」という方向で売れ線を狙って書いてみることにしました。記事を書くに当たっては、次のようなことに気をつけてみました。注目を集めるためにタイトルは少し煽り気味にする一番伝えたいことがちゃんと伝わるよう、何度も見直す題に関係ない

    os0x
    os0x 2009/07/02
  • AS3.0 だけでちょっと素敵なボタンを描くよ - てっく煮ブログ

    as生の ActionScript には標準のボタンコントロールがなくて、手軽に UI を作りこむのが面倒なんだけど、その分、ちょっとがんばればかっこいいボタンを作れちゃうのも魅力的。ここでは70行ほどで作った簡単なボタンを紹介する。北海道を落とすとどう跳ねるか? で使ったやつ。うれしいこと画像でデータを持つよりもサイズが小さい。拡大しても劣化しない。使い回しがきく。使いまわすと、Flash 全体で見た目を統一できる。実物上下のボタンはクリックすると移動するよ。TEST ボタンは押しても何も起こらないよ。やってること:グラデーションを定義drawRoundRect() で角丸四角を描く内側に向けて GlowFilter で光らせる太めに境界線を描くマウスが乗っていないときには白黒にするみどころテキストの中身の HTML を作るときに、E4X を使ってテンプレート風の書き方をしてる。 tex

    os0x
    os0x 2009/04/23
  • 北海道を落とすとどう跳ねるのか?の裏側 - てっく煮ブログ

    asおかげさまで大好評の 北海道を落とすとどう跳ねるのか? ですが、どのように作ったか、製作過程を紹介することにします。1. 地図の素材を取ってくるまずは地図の素材が必要です。以下のサイトから拝借しました。白地図、世界地図、日地図が無料pdf や eps 形式の地図データを無料で配布してくれているありがたいサイトです。2. 都道府県ごとに分割する上記の素材は県境もベクター形式で提供されていて大変ありがたかったのですが、島がどの都道府県に属しているかの情報がありませんでした。そこで、Google Maps と見比べながら、島を都道府県ごとに分類していきました。無事、全ての島を分類し終わって、こんな感じになりました。とても地味な作業でした…。3. 都道府県ごとに SVG で出力する次に、Illustrator 内で分類したデータをプログラムで扱える形式にしなければなりません。ここでは XML

    os0x
    os0x 2009/04/22
  • 北海道を落とすとどう跳ねるのか? - てっく煮ブログ

    北海道を落としたらどうなるんだろう? 少し気になったので調べてみました。START をクリックすると確認できます。北海道以外も確認できるので、しばらく待って気になる都道府県が登場するのを待つとよいかもしれません。最後の鹿児島と沖縄は圧巻です。よつ葉バター1缶ジャンル: 品・スイーツ > チーズ・乳製品 > バター > その他ショップ: 北海道お土産探検隊価格: 593円

    os0x
    os0x 2009/04/15
    栃木どうした
  • クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた - てっく煮ブログ

    集合知プログラミング を読んでいたら、K-means 法(K平均法)の説明が出てきました。K-means 法はクラスタリングを行うための定番のアルゴリズムらしいです。存在は知っていたんだけどいまいちピンときていなかったので、動作を理解するためにサンプルを作ってみました。クリックすると1ステップずつ動かすことができます。クラスタの数や点の数を変更して、RESET を押すと好きなパラメータで試すことができます。こうやって1ステップずつ確認しながら動かしてみると、意外に単純な仕組みなのが実感できました。K-means 法とはK平均法 - Wikipedia に詳しく書いてあるけど、もうすこしザックリと書くとこんなイメージになります。各点にランダムにクラスタを割り当てるクラスタの重心を計算する。点のクラスタを、一番近い重心のクラスタに変更する変化がなければ終了。変化がある限りは 2. に戻る。これ

    os0x
    os0x 2009/04/09
  • ActionScript3 ブロックスコープの ABC - てっく煮ブログ

    as3, tamarin※ AS3 にはブロックスコープがないよ、という内容です一時変数の効率化|_level0.KAYAC という記事に怪しいことが書いてあったので突っ込んでおきます。この記事によると、for の中で変数を宣言するよりも // 中バージョン function foo1():void{ for(var i:int = 0; i { var a:Object = new Object(); } } 外で宣言をしたほうが // 外バージョン function foo2():void{ var a:Object; for(var i:int = 0; i { a = new Object(); } } a が宣言される回数が少ないので効率的だとしています。けれども、これは間違いです。for の中で宣言しても、ブロックのあとでも生き残ります。もっと言ってしまえば、var 宣言する前

    os0x
    os0x 2009/01/22
    バイトコード
  • Object.freeze() と ECMAScript Harmony - てっく煮ブログ

    ES4 のドラフトが一旦白紙になって、ES3.1 の策定を先に進めることになった。このあたりの情報が少なくて、どうなっていくのかがいまいちピンと来ないので調べてみた。現状で頼りになるのが、 "ECMAScript Harmony" の日語訳。この中の次の部分が気になった。名前空間とアーリーバインディングが仕様から外れてしまえば, クラスは lambda-coding + Object.freeze と ES3.1 のその関係機能というすっきりした(desugar)姿になりますObject.freeze というキーワードがよく分からなかったので、ES3.1 のドラフト (2008/8/11) を見ながら理解を進めてみた。ES4 から外れることになった機能と、その前に、外れた機能について簡単におさらいしておく。パッケージクラスや関数の名前空間と言ってもいいのがパッケージ。ライブラリごとに分か

  • フォント情報を元に歪めて描画:ユメのカタチ - てっく煮ブログ

    as埋め込みフォントの情報を swfassist で取得するから先へ進んで、フォントのベクタ情報を加工して遊んでみよう。(追記) 手元の Firefox だと「bytes が読み取れない」と例外が出る。ブラウザや Player のバージョンによっては動かない!? bytes は Flash Player 9.0.115.0 以降にしかないので、それ以前のバージョンでは動かない…ということだ。swfassist には描画の仕方を定義する FlashGraphics クラスがある。これを拡張して、FuzzyFlashGraphics というクラスを作成してみた。与えられた座標から、ずらして描画するためのクラスだ。さっそく例。ランダムにずらしつつ、ずらす幅を時間ごとに変化させてみた。FlashGraphics オブジェクトのコールバック関数 f で歪め方を定義する。そこそこ汎用的に遊べるんじゃな

    os0x
    os0x 2008/07/25
  • AS3 で埋め込みフォントを使うテクニック - てっく煮ブログ

    as埋め込みフォントを使う場合のちょっとしたTipsを3つ紹介しておく。1. 何も考えずにフォントを埋め込む方法フォントを埋め込むには、Embed メタタグを利用する。 package { import flash.display.Sprite; import flash.text.TextField; public class EmbedFontTest extends Sprite { [Embed(source='アニトM-教漢.TTF', fontName='anito')] private var font:Class; public function EmbedFontTest(){ stage.align = "TL"; stage.scaleMode = "noScale"; var textField:TextField = new TextField(); textFi

    os0x
    os0x 2008/07/23
  • WSHでDOM (Shibuya.js in Kyoto) - てっく煮ブログ

    Shibuya.js in Kyoto にて「WSHでDOM」というタイトルで発表しました。開発に一週間、プレゼン作りに一週間かけた渾身のネタです。プレゼン作りにあたっては、2ページ目のイメージ写真を撮るために祇園祭に出かけたのが楽しかったです。資料に使ったフォントは「アニトM-教漢(無料版)」です。素敵なフォントが比較的自由なライセンスで公開されていて大変ありがたいですね。無料版なので、一部漢字が使えずに文章の変更を余儀なくされましたが、おかげで小学生にも読める分かりやすい資料になりました。ソースコード:http://coderepos.org/share/browser/lang/cplusplus/dom4winui/trunk/srcプレゼン 全画面で見る:http://tech.nitoyon.com/misc/shibuya-js-kyoto/Slide.swfソース:http

  • E4X の変数展開 深追い (2) - てっく煮ブログ

    javascript, as続き。変数展開するときに、どういうバイトコードになってるか気になったので調べてみた。ActionScript のコードはこんなの。 var a = {3}; asc でコンパイルして、abcdump でダンプしたらこうなった。 0 getlocal0 1 pushscope 2 findpropstrict XML 4 getproperty XML 6 pushstring "" 8 pushbyte 3 10 esc_xelem 11 add 12 pushstring "" 14 add 15 construct (1) 17 getglobalscope 18 swap 19 setslot 1 21 returnvoid new String() と比較new String() するコードと比べてみる。 var a = new String("hoge

    os0x
    os0x 2008/06/16
  • AS3.0 で 3D プログラミングを1から勉強する (1) - てっく煮ブログ

    as3D の原理をあまり知らなかったので、ActionScript 3.0 で1から勉強してみた。1からなのでフレームワークは使わず、自力で実装していく。Web 上には色んな資料があってありがたいだけど、玉石混交な上に、有用なものでも一道で幅の狭いものが多い。前提知識のない自分にとっては、資料間の関連性を理解するのが大変だった。なので、なるべく簡単なところからスタートしつつ、広く浅く体験していくことを目標としてみる。まずは、四面体をワイヤーフレームで表示するところからスタートしよう。四面体を定義するまずは、3次元上の点を表現する Point3D クラスを作る。 class Point3D { public var x:Number; public var y:Number; public var z:Number; public function Point3D(_x:Number =

    os0x
    os0x 2008/06/16
  • JS を gzip 化してファイルサイズ削減してみた - てっく煮ブログ

    勢いよく公開したものの、全く話題になってない getlasterror.so-name.info ですが、ちょこちょこいじっていきますよ。errors.js が500KB弱あるのを何とかしたかったので、gzip 圧縮してみた。errors.js.gz は gzip --best errors.js で事前に作成しておく。470KB が 120KB になった。.htaccess で mod_rewrite。データがスタティックだからなせる技。 RewriteEngine on RewriteBase / RewriteCond %{HTTP:Accept-Encoding} (x\-)?gzip,? RewriteRule ^errors\.js$ errors.js.gz RewriteBase はさくらのレンタルサーバーの安いプランだから必要だったけど、他の環境ではたぶん不要。(補足)e

    os0x
    os0x 2008/04/16
  • getlasterror.so-name.info をリリースしました - てっく煮ブログ

    os0x
    os0x 2008/04/14
  • java-ja第6回発表資料「ActionScript for JAVAer」 - てっく煮ブログ

    eventjava-ja 第六回で発表してきました。JAVA な人に AS をお薦めするプレゼンです。自作プレゼンシステムが進化した!毎回、プレゼンするときにソースコードを改善していってるんだけど、ちょっと前から as3Query を使い始めている。やっぱり as3Query すごい。例えば、次のページに移るときのアニメーションはこう書いてる。 // 前面のオブジェクトをスライド $(this).children() .addTween({ x : WIDTH * (next ? -1.5 : 1.5), time: 1.5, onComplete: function():void{ $(this).remove(); } }); as3Query で列挙した子供に対して Tween を追加している。as3Query+Tweener 最強。このコードは全ての x 座標が 0 という前提があ

    os0x
    os0x 2008/03/30
  • 各国の伝統色をHSV空間に配置してみた - てっく煮ブログ

    前回の 日の伝統色をHSV空間に配置してみた が意外に面白かったので、今度は世界各国のデータで試してみた。日自然界にある色を中心に、埋め尽くすかのように沢山の色があるのが分かります。色名の由来がまた、素敵なんだよなー。中国に近い。というよりかは、日がもろに中国の影響を受けたんだろうな。イギリス日中国とは全く違う分布になっていますね。教科書的に均等にばらついていて円に近い。果物とか花とか宝石の名前が多いのかな。フランスイギリスと同じくばらついているんだけど、右上の紫と、右下の黄色が充実しているのが印象的。紫色が充実しているのは、ワインを表現するため!? 黄色が充実してるのは、チーズを表現するため!?アメリカ彩度が高い色(円の外側)が充実しまくっている。超原色だぜ、USAアフリカ特徴的な原色。水色、緑は、他の国には登場すらしていないぐらいに強烈。8bit ゲーム機のような色だ。

    os0x
    os0x 2008/03/26
  • 日本の伝統色をHSV空間に配置してみた - てっく煮ブログ

    color label explorer (※やや重い) が面白かったので、日の伝統色でやってみた。データは Japanese Traditional Colors - 日の伝統色: 2xup から抽出させてもらったのを使ってる。こうやって分布させるだけでも、新たな気づきがあっておもしろい。内側に密集していて、外側にいくほど(彩度が高くなるほど)色が少なくなる。特に、左下の緑なんてすっからかん。伝統色には、自然を表現する色が多いのに、緑が少ないとは意外。自然界には、彩度が高い色は少ない、ということか。一応ソースものっけておく。これぐらいなら、JS ででもできそうなんだけど、日ごろの慣れで AS。 package{ import flash.display.*; import flash.text.TextField; import sketchbook.colors.*; import

    os0x
    os0x 2008/03/25
  • AIR・AS3・Flex3のクラス相関図ポスターが公開中 - てっく煮ブログ

    air, flex, asFlex Team: Update on Flex, ActionScript, AIR Posters から入手できます。公開当初は、Flex Builder 3 の購入が条件だったようですが、いつの間にか、誰でもダウンロードできるようになってますよ。97MB の巨大 PDF、計5枚の迫力です。四角1つがクラス1つになっていて、メソッド・プロパティ名が四角の中に列挙されています。つまり、でかい四角は複雑なクラスというわけ。中でも目を引くのが、Flex の UIComponent と ListBase。こいつらのせいで Flex が複雑になってるいっても過言ではない・・・。個人的には、UIComponent は Sprite を継承すべきじゃなかったと思うんですよね…。ちなみに、Flex2 時代の Flex2 と AS3 のポスターはこちらにあります。http:/

    os0x
    os0x 2008/03/13
  • Twitter の crossdomain.xml 問題について。 - てっく煮ブログ

    ついったー足あと帳 関連でこんなブログ記事を発見した。今回は twitterのprotectな発言とかsettingからメールアドレスの取得や変更なんかできちゃってたわけで…2008-03-09 - skubotaの日記変更??間違った情報が広がるとよくないので勝手に補足。この記事には誤解がある。確かに取得はできるけど、変更はできない。実際に試した私が言うんだから間違いない。(補足)ためしたのは、ついったー足あとちょうを作ったらへん。今は仕様変わってるかも(?)たぶん、サーバー側でリファラを見て弾いてるんだと思う。SWF からリクエストする場合は、SWF の URL がリファラとしてつくようになっている。リファラをなしにして送ったらうまく行くことも確認した。だから、swf からのクロスドメインアクセスに対しては通用しないであろう。よって、(1)メールアドレスの変更、(2)パスワードリセット

    os0x
    os0x 2008/03/10
    SSLなページからリファラは送出されない(されたら困る)。 http://www.nitoka.net/archives/2006/12/httpshttp.html (POSTの場合どうかは確認してないけど) ってことは、こんにちry