Skip to content

Instantly share code, notes, and snippets.

@3panda
Created September 18, 2013 08:15
Show Gist options
  • Save 3panda/6606138 to your computer and use it in GitHub Desktop.
Save 3panda/6606138 to your computer and use it in GitHub Desktop.

#【備忘録】enchant.jsを実践で使うときのメモ(作成中) 今年の3月にプロジェクトでenchant.jsを利用する可能性があったので検証した際のメモ書きを整理してみました。 主にv0.6.2における検証結果や遭遇した懸念点です。

現在は解決しているものもあるについては確認次第削除又は補足を載せますが 一旦当時のままの情報を掲載します。

##【懸念事項】Retina対応 Android 4.0.4の不具合(Dom版) 座標の移動と変形(縮尺+傾き)を同時に指定できないらしい

##【懸念事項】Retina対応 Android 4.0.4の不具合(Canvas版) ゲーム側で2倍に指定して作成し、CSSで必要サイズに縮小と言う手法が Android 4.0.4で利用できない(ブラウザの挙動がおかしくなる)

###対応策 ####Retina対応を行わない ####RetinaのiPhone4以降ようにJavaScriptと画像を用意 要調査 可能でも工数が増える

##【懸念事項】TEXTの行間のコントロールが難しい(Canvas版) Canvas APIの仕様上、CSSのline-heightに相当するプロパティは標準に固定らしい

###対応策 ####文字列を配列にいれるなどの処理を作る 例えばユーザー名などの変数+文章の場合など変数に入る文字列を考慮出来ない。 調整に時間がかかる ####【解決策】テキストが多用する部分はDOMSceneを利用する(シーン単位でDOM版と同じにする) SpriteやEntityをSceneに追加する前に、Entity._element = document.createElement('div');とすることでSceneのDOMLayerに追加できるようになる。

##TEXT NTTドコモのXperia、Android2.1で文字化け(おそらく二バイト) ベーシック認証があると文字化け ベーシック認証が無ければ問題ないが、開発時に検証作業がやりにくい・・・ ※Androidのバグ

##loop()が効かない 場合の対策(v0.62でのバグ)

TimelineにTweenがひとつしかない場合TimeLine#loop()が正しく動作しません
ex)spはオブジェクト
// loopする
sp.tl.rotateBy(160, 30).rotateBy(160, 30).loop();
// loopしない
sp.tl.rotateBy(160, 30).loop();

##Retina対応 ゲーム側で2倍に指定して作成し、CSSで必要サイズに縮小 しかしAndroid 4.0.4 でNG!!!!

###解決策 ゲーム側で2倍に指定して作成し、CSSで必要サイズに縮小 !!!Android 4.0.4 でNG!!!!

	<style type="text/css">

					html, body {
					    margin: 0;
					    height: 100%;
					}
					body {
						position: relative;
						padding: 0;
						background-color: #000;
					}
					div#enchant-stage {
					    width: 320px;
					    height: 320px;
					}
	</style>
</head>
<body>
	<div id="enchant-stage"></div>
</body>

###参考

##Canvasが画面に収まらない [enchant-js] iPhoneで画面幅からページがはみ出てしまう場合の対処方法

ブラウザの表示領域サイズに依存するらしい・・・320×320では収まった・・・

###解決策!!!! ゲームの領域がブラウザの表示領域を超えている場合、縮小されて表示される(スマートフォン) ·Issue #173 · wise9/enchant.js

<style>
html, body {
    margin: 0;
    height: 100%;
}
div#enchant-stage {
    width: 640px;
    height: 640px;
}
</style>
<body>
<div id="enchant-stage"></div>
</body>

###サイズとかの参考

###その他参考

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment