• 05 «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • » 07
ASOK?
ActionScriptでFlashつくるよ
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
page top

コンパイルしてJSを吐く言語としてはCoffeeScriptが有名だが、マルチプラットフォームなHaXeとか、最近ではJSXなんてのもある。

2013/1/18追記

MSのTypeScriptを完全に見逃していた。TypeScriptに関して追記。

CoffeeScript

  • JSのためだけに開発された。
  •  〃 ので、JSライブラリが普通に使えるみたい
  •  〃 ので、他に役に立たない
  • 日本語の情報が多い。
  • デバッグしにくい
  • 文法はRubyぽいらしい

HaXe

JSX

  • 新しいのでドキュメントがほぼないらしい。
  • 新しいので仕様が変わる。

TypeScript

  • MS製なのでなんとなく安心。すでにドキュメントも整備されてる。
  • 型があるよ!インターフェースも。型推論もあるよ。
  • 名前空間もある。
  • オーバーロードがあるよ!(実装は1メソッド?)

比較

JSX、Haxe、TypeScriptは思想がぜんぜん違うぽいので、単純比較は意味がない。
JSXは速度重視。ゲーム用途を想定してるので当然だな。

JSX / Haxe / TypeScript
静的型付けをもつJavaScriptへのトランスコンパイル言語を味見してみた

参考サイト

CoffeeScript参考サイト

クラス的なものを作る時のthis参照問題を解決できるからいい→CoffeeScriptをおすすめしたいワケ - Takazudo hamalog
今日から始めるCoffeeScript | tech.kayac.com - KAYAC engineers' blog

HaXe参考サイト

JSXよりHaxeがイケてる5つの理由(実践編) もしくは Real World Haxe - みずぴー日記
Haxe/JavaScriptチュートリアル — Haxe/JavaScript tutorial 0.2 documentation

TypeScript参考サイト

TypeScript クイックガイド - phyzkit.net
TypeScriptの機能をもう少し試してみる
TypeScriptによるオブジェクト指向講座:ModelとView

スポンサーサイト
page top

基本的にはDOMのEventインターフェースを使う。ただしIEでは独自のwindow.eventオブジェクトを使う。

Eventインターフェース

type
イベントタイプ。
bubbles
イベントがバブリングするかどうか。
cancelable
「デフォルト・アクションの抑止」が可能かどうか。
eventPhase
キャプチャフェーズなら1、ターゲットフェーズなら2、バブリングフェーズなら3。
currentTarget
イベントリスナが実行されいているイベントターゲットのノード。
target
イベントの発生源となるノード。

オプション:

マウス関係

screenX, screenY, pageX, pageY, clientX, clientY, offsetX, offsetY

キーボード関係

keyCode, which, modfiers

画像関係(?)

isTrusted, timeStamp

explicitOriginalTarget, originalTarget

window.event(IEのみ)

type
イベントタイプ。(Event.typeと同じ)
srcElement
イベントの発生源となるノード。(Event.targetと同じ)
page top

EaselJSと同じくgkskinner作、メソッドチェーンで書けるJSトゥイーンライブラリ。

TweenJS: A Tweening & Animation Library for Javascript & HTML5.

Timeline

機能

  • 複数のTweenをまとめて扱う
  • 特定の時間位置にラベルをつけて扱う

コンストラクタ パラメータ

tweens
Tweenインスタンスの配列。
labels
ラベル指定Object。{<ラベル名>:<時間>}のフォーマット。時間はミリ秒単位または、フレーム単位。
props
設定用。loop、useTicks、ignoreGlobalPauseの3つが指定できる。

サンプル

気づいたこと

  • 例えばxとyでイージングを変えてトゥイーンしたい→Tween.play()かTimelineを使う。
  • 並列にトゥイーンしたい→Tween.play()かTimelineを使う。
  • scaleX,scaleYへのset()が正しく動作しないみたいなので、to()で代用する。
    (.to({scaleX:0.2,scaleY:0.2})でOK)
  • ボタンなどでTweenが重なると正しく動作しない場合は、overrideをtrueに。
page top

前もどこかでまとめたような…

2011/12/26追記:dojo.DeferredとjQueryのDeferredを追加。

dojo.Deferred

dojo.DeferredListで複数のDeferredをまとめることもできる。

"promise" による JavaScript での非同期プログラミング

jQueryのDeferred

"promise" による JavaScript での非同期プログラミング

Dojo と異なる点として、jQuery では、then メソッドから別の promise が返されません。その代わりに、jQuery には pipe メソッドが用意され、これによって操作を連携することができます。

JSDeferred

―和製ライブラリ。next(), loop(), call(), parallel(), wait()など。
さらにaloop()による非同期ループ、イベントのDeferred化など。

JSDeferred 紹介

TameJS

記述は好感が持てる。

非同期処理をシンプルに書けるJavaScriptライブラリ「TameJS」

Step

coffeescriptとstep.js でどれぐらい非同期を同期的に簡潔に書けるか?

Command

AS3のProgressionのCommandライク。
エラーハンドルの仕組みがない。

[JavaScript] Javascript で非同期処理のライブラリ « きんくまデザイン

海外製いろいろ

InfoQ: 仮想パネル: JavaScriptで非同期プログラミングを乗り切る方法
―開発者への質問と回答。Step, Flow-js, node-promise, Async, Async.js, FuturesJS, slide-flow-controlといっぱい出てくる。

PotLite.js

JavaScript非同期ライブラリ PotLite.js 1.23 リリース | 圧縮電子精神音楽浮遊構造体
マイナーそうな…

page top
とりあえずEaselJSを触ってみるメモ。
それなりに規模が大きいので、APIがASを模して作られていることでアタリがつきやすくありがたい。

Stage.enableMouseOver(frequency)
該当StageでonMouseOver と onMouseOut を設定。ただしこの設定は処理コストが高いみたい。
Stage.getObjectUnderPoint()を使うのがメインのようだ。デフォルトはオフになっている。
どうもカーソルが動かないとイベントが発生しないみたい。カーソルが動いたときのみ判定する実装にしてるんだろう。
frequency――1秒間の間にイベントを送信する回数。0を指定するとオフに。

カーソルをハンドカーソルにする方法はないのか?

Stage.mouseEnabled
Stage.getObjectsUnderPoint() を使うときに必要。Stage.enableMouseOver() の時は不要みたい。

Stage.mouseChildren
なくなった?古いサンプルにはあるが、今のリファレンスには見当たらない。

DisplayObject.rexX, regY
中心点をずらせる!Bitmapで超便利。
page top
Copyright © 2005 ASOK?. all rights reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。