<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/tmlibjs/">
    <title>tmlib.js ガイド@ Wiki</title>
    <link>http://w.atwiki.jp/tmlibjs/</link>
    <atom:link href="https://w.atwiki.jp/tmlibjs/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>tmlib.js ガイド@ Wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2014-07-16T20:48:10+09:00</dc:date>
    <utime>1405511290</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/tmlibjs/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/tmlibjs/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/tmlibjs/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/tmlibjs/pages/29.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/tmlibjs/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/tmlibjs/pages/30.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/tmlibjs/pages/28.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/tmlibjs/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/tmlibjs/pages/27.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/tmlibjs/pages/26.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/tmlibjs/pages/17.html">
    <title>tmlib.jsリンク集</title>
    <link>https://w.atwiki.jp/tmlibjs/pages/17.html</link>
    <description>
      2014/07/10更新
*公式、準公式

-[[公式HP&gt;&gt;http://phi-jp.github.io/tmlib.js/]]
チュートリアルページはしんでるぴよ。

-[[公式Docs&gt;&gt;http://phi-jp.github.io/tmlib.js/docs/index.html]]
最新の名前空間なので、古いソース見てるとわかりづらいぴよ。クラス名で検索ぴよ。Ajax検索なので便利ぴよ。

-[[公式Usage&gt;&gt;http://phi-jp.github.io/tmlib.js/usage.html]]

-[[公式Example&gt;&gt;http://phi-jp.github.io/tmlib.js/example.html]]

-[[公式ブログ&gt;&gt;http://tmlife.net/]]
サンプル多数ぴよ。最終更新2013。サンプルが0.1.xどまりぴよ。

-[[公式jsdo.it&gt;&gt;http://jsdo.it/phi]]
サンプル多数ぴよ。検索性悪いけど、0.3.xのサンプルもあるぴよ。

-[[おそらく公式Git&gt;&gt;https://github.com/phi-jp/tmlib.js]]

Git上の実体（最新 2014/07/10時点で0.3.0）　直リンはほどほどにするぴよ。
http://phi-jp.github.io/tmlib.js/build/tmlib.js

Git上の実体（0.2.0）　直リンはほどほどにするぴよ。
http://rawgit.com/phi-jp/tmlib.js/0.2.0/build/tmlib.js

-[[おそらく公式実験場&gt;&gt;http://junk.tmlife.net/lib/tmlib.js/test/display/#tests.mapsprite.DemoScene00]]
--[[canvasapp&gt;&gt;http://junk.tmlife.net/lib/tmlib.js/test/display/scripts/canvasapp.js]]
--[[canvaselement&gt;&gt;http://junk.tmlife.net/lib/tmlib.js/test/display/scripts/canvaselement.js]]
--[[label&gt;&gt;http://junk.tmlife.net/lib/tmlib.js/test/display/scripts/label.js]]
--[[animationsprite&gt;&gt;http://junk.tmlife.net/lib/tmlib.js/test/display/scripts/animationsprite.js]]
--[[mapsprite&gt;&gt;http://junk.tmlife.net/lib/tmlib.js/test/display/scripts/mapsprite.js]]
--[[example&gt;&gt;http://junk.tmlife.net/lib/tmlib.js/test/display/scripts/example.js]]
--[[benchmark&gt;&gt;http://junk.tmlife.net/lib/tmlib.js/test/display/scripts/benchmark.js]]
最新サンプルが手に入るぴよ。
レアなMapSpriteのサンプルもあるぴよ。
HTMLソースを辿らないと見えないので貼っとくぴよ。

*勝手

-[[tmlib備忘録&gt;&gt;http://blz.x0.com/lab/tmlib/]]
大きく仕様変更された0.2.xについて基本をまとめてる。まずここを読むと新旧サンプル混在の混乱を避けれるぴよ。

-[[tmlib.js 入門&gt;&gt;http://vivi.dyndns.org/tech/puzzle/SBP.html]]

-[[typeOf &#039;aki_mana&#039;&gt;&gt;http://blog.livedoor.jp/aki_mana/search?q=tmlib]]
tmlib.jsの不足機能のハック＆拡張方法などがあるぴよ。

-[[TEST CORDING&gt;&gt;http://testcording.com/?cat=16]]

-[[QIITA YFukuyama&gt;&gt;http://qiita.com/YFukuyama]]
0.1.xだけど、CoffeeScriptでtmlib.jsを扱ってるぴよ。

-[[javascriptでゲームを作りたいブログ&gt;&gt;http://childhood-s-end.tumblr.com/]]

*サンプル
**0.3.x

phi&#039;s フレームアニメーション(frameIndex) - tmlib.js 0.3
[[http://jsdo.it/phi/4pVs&gt;&gt;http://jsdo.it/phi/4pVs]]

**0.2.x
一定じゃないフレーム数や、フレーム順番変更などの、拡張アニメーション。おっぱいぴよ。
[[http://blz.x0.com/lab/tmlib/02.html&gt;&gt;http://blz.x0.com/lab/tmlib/02.html]]

逃走ゲーム（仮）Level5-4 巡回する敵を実装する
[[http://jsdo.it/kneesockscollector/escape17&gt;&gt;http://jsdo.it/kneesockscollector/escape17]]

**0.1.x
04:「画像を表示してアニメーションさせてみよう(スプライトアニメーション)」 – tmlib.js入門用チュートリアル！避けゲーを作ってみよう。サンプルが古いぴよ？
[[http://testcording.com/?p=1614&gt;&gt;http://testcording.com/?p=1614]]

マップチップ表示 + スプライトアニメーション - tmlib.js 擬似パッドも。
[[http://jsdo.it/omatoro/sVun&gt;&gt;http://jsdo.it/omatoro/sVun]]

*メモ

「tmlib.js download」でぐぐると入門サイトが多数出てくるぴよ。    </description>
    <dc:date>2014-07-16T20:48:10+09:00</dc:date>
    <utime>1405511290</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/tmlibjs/pages/19.html">
    <title>このサイトについて</title>
    <link>https://w.atwiki.jp/tmlibjs/pages/19.html</link>
    <description>
      このサイトは、管理人のtmlib.jsの情報集積メモぴよ。

tmlib.jsの情報は0.1.x系と0.2.x系に大きく分かれるけど、
ネット上ではバージョンが明記されず、混在してるので、
情報の整理場所としてつくったぴよ。

学習するなら、まず0.2.x以降で覚えて、
過去の遺産を参照したい場合に、0.1.xに手を出すべきぴよ。    </description>
    <dc:date>2014-07-16T20:39:57+09:00</dc:date>
    <utime>1405510797</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/tmlibjs/pages/18.html">
    <title>tmlib.jsとは</title>
    <link>https://w.atwiki.jp/tmlibjs/pages/18.html</link>
    <description>
      tmlib.jsとは、enchant.jsやら他のJSゲームライブラリのイイトコどりをしたライブラリぴよ。

tmlib.jsだけで完結してるので、他のJSライブラリとの親和性が高いぴよ。
JSの3Dライブラリthree.jsや、フリーの統合開発環境Intel XDKのJS（旧jqMobi）とよく馴染むぴよ。
ブラウザ上のjsdo.it上でも動作するので、いつでもどこでもちょこっと開発できるぴよ。

問題は、0.2.xで整理されたクラスと、ネットで見つかるサンプルの大半が0.1.xで、
完全な互換性がなく、動かすのに、ソースに手入れが必要だけど、その情報が足りてないことぴよ。
更新頻度の高いオープンソースの宿命とはいえ、
サンプルが0.1.xなのか、0.2.x以降なのか明示して欲しいぴよ。
Node.jsなんかは、動作バージョン明記が多いので、今後のドキュメントづくりでは、見習っていきたいところぴよ。    </description>
    <dc:date>2014-07-16T20:36:22+09:00</dc:date>
    <utime>1405510582</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/tmlibjs/pages/29.html">
    <title>tmxファイル</title>
    <link>https://w.atwiki.jp/tmlibjs/pages/29.html</link>
    <description>
      タイルマップの共通形式tmx

エディタ Tiled
http://www.mapeditor.org/

Tiledの使い方参考
Tiled Map Editor を Cocos2d-html5 と使用する方法
https://developer.tizen.org/ja/documentation/articles/how-use-tiled-map-editor-cocos2d-html5?langredirect=1


TiledのXML形式と、エクスポートしたJSON形式に対応してる模様。
（吐き出したJSON形式は、手動で、拡張子をtmxにする？未確認）
ただしXML形式の場合、以下のプロパティを手動で、追加する必要がある。
（Tiledのバージョンアップに伴い、XML形式の記述がコロコロ変わるのが、原因？）
   &lt;properties /&gt;

その辺の製作者のやりとり
https://www.google.co.jp/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=5&amp;cad=rja&amp;uact=8&amp;ved=0CDgQFjAE&amp;url=https%3A%2F%2Fgroups.google.com%2Fd%2Ftopic%2Ftmlib%2FXpAtVrlVKTw&amp;ei=6zPGU-WkBtO48gXOhYJw&amp;usg=AFQjCNEBNAErYQ21zr-Coth2ysc2igS3DA&amp;bvm=bv.71126742,d.dGc

またtmx形式は、あくまでもタイルマップのマッピング情報なので、タイルとして利用した元画像も必要。

参考
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;map version=&quot;1.0&quot; orientation=&quot;orthogonal&quot; width=&quot;10&quot; height=&quot;10&quot; tilewidth=&quot;32&quot; tileheight=&quot;32&quot;&gt;
 &lt;tileset firstgid=&quot;1&quot; name=&quot;map&quot; tilewidth=&quot;32&quot; tileheight=&quot;32&quot;&gt;
   &lt;properties /&gt;
   &lt;image source=&quot;rsc/img/map.png&quot; width=&quot;256&quot; height=&quot;256&quot;/&gt;
 &lt;/tileset&gt;
 &lt;layer name=&quot;タイル・レイヤー1&quot; width=&quot;10&quot; height=&quot;10&quot;&gt;
  &lt;data encoding=&quot;base64&quot; compression=&quot;gzip&quot;&gt;
   H4sIAAAAAAAAC2NkYGBgHMWDBgMAjw2X0pABAAA=
  &lt;/data&gt;
 &lt;/layer&gt;
 &lt;layer name=&quot;タイル・レイヤー1をコピー&quot; width=&quot;10&quot; height=&quot;10&quot;&gt;
  &lt;data encoding=&quot;base64&quot; compression=&quot;gzip&quot;&gt;
   H4sIAAAAAAAAC2NgGAWDCQAADA0iRpABAAA=
  &lt;/data&gt;
 &lt;/layer&gt;
 &lt;objectgroup name=&quot;オブジェクト・レイヤー 1&quot; width=&quot;10&quot; height=&quot;10&quot;/&gt;
 &lt;imagelayer name=&quot;画像・レイヤー 1&quot; width=&quot;10&quot; height=&quot;10&quot;/&gt;
&lt;/map&gt;    </description>
    <dc:date>2014-07-16T17:36:44+09:00</dc:date>
    <utime>1405499804</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/tmlibjs/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/tmlibjs/pages/2.html</link>
    <description>
      -[[このサイトについて]]
-[[tmlib.jsとは]]
-[[tmlib.jsリンク集]]

----

**tmlib.js(0.3.0)
-[[tm.app.AnimationSprite]] (x)
-[[tm.app.CanvasApp]] (x)
-[[tm.app.Object2D]]
-[[tm.app.Scene]]
-[[tm.app.TitleScene]]
-[[tm.createClass]] (x)
-[[tm.display.AnimationSprite]]
-[[tm.display.CanvasApp]]
-[[tm.display.TriangleShape]]

-[[クラスの書き方]]
-[[tmssファイル]]
-[[tmxファイル]]
-[[エラー事例]]

----

**メニュー
-[[トップページ]]
-[[プラグイン紹介&gt;プラグイン]]
-[[まとめサイト作成支援ツール]]
-[[メニュー]]
-[[メニュー2]]

----

**リンク
-[[@wiki&gt;&gt;http://atwiki.jp]]
-[[@wikiご利用ガイド&gt;&gt;http://atwiki.jp/guide/]]

**他のサービス
-[[2ch型掲示板レンタル&gt;&gt;http://atchs.jp]]
-[[無料掲示板レンタル&gt;&gt;http://atbbs.jp]]

// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります


//**更新履歴
//#recent(20)

&amp;link_editmenu(text=ここを編集)    </description>
    <dc:date>2014-07-16T16:58:24+09:00</dc:date>
    <utime>1405497504</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/tmlibjs/pages/30.html">
    <title>tmssファイル</title>
    <link>https://w.atwiki.jp/tmlibjs/pages/30.html</link>
    <description>
      tmlib.js専用のSpriteSheetファイル。中身はJSON形式。

あらかじめ読み込んだASSETSのスプライト画像名をimageに指定する。

例
{
    &quot;image&quot;: &quot;chiruno&quot;,
    &quot;frame&quot;: {
        &quot;width&quot;: 64,
        &quot;height&quot;: 64,
        &quot;count&quot;: 40
    },
    &quot;animations&quot;: {
        &quot;run&quot;: {
            &quot;frames&quot;: [1, 2, 11, 12],
            &quot;next&quot;: &quot;run&quot;,
            &quot;frequency&quot;: 6
        },
        &quot;idle&quot;: {
            &quot;frames&quot;: [0, 10],
            &quot;next&quot;: &quot;idle&quot;,
            &quot;frequency&quot;: 16
        },
        &quot;idle2&quot;: {
            &quot;frames&quot;: [2, 12],
            &quot;next&quot;: &quot;idle2&quot;,
            &quot;frequency&quot;: 16
        },
        &quot;idle3&quot;: {
            &quot;frames&quot;: [3, 13],
            &quot;next&quot;: &quot;idle3&quot;,
            &quot;frequency&quot;: 16
        },
        &quot;jump&quot;: {
            &quot;frames&quot;: [7, 17, 5, 15],
            &quot;next&quot;: &quot;fly&quot;,
            &quot;frequency&quot;: 8
        },
        &quot;fly&quot;: {
            &quot;frames&quot;: [8, 18],
            &quot;next&quot;: &quot;fly&quot;,
            &quot;frequency&quot;: 4
        },
        &quot;shoot&quot;: {
            &quot;frames&quot;: [7, 17],
            &quot;next&quot;: &quot;shooting&quot;,
            &quot;frequency&quot;: 4
        },
        &quot;shooting&quot;: {
            &quot;frames&quot;: [4, 14],
            &quot;next&quot;: &quot;shooting&quot;,
            &quot;frequency&quot;: 4
        },
        &quot;landing&quot;: {
            &quot;frames&quot;: [6, 16],
            &quot;next&quot;: &quot;landing&quot;,
            &quot;frequency&quot;: 4
        }
    }
}    </description>
    <dc:date>2014-07-16T16:57:31+09:00</dc:date>
    <utime>1405497451</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/tmlibjs/pages/28.html">
    <title>tm.createClass</title>
    <link>https://w.atwiki.jp/tmlibjs/pages/28.html</link>
    <description>
      0.1.xでのクラス生成。
0.2.x系ではtm.createClass();は廃止されたため、クラス生成はtm.define();によって行う。 

tm.define(&quot;クラス名&quot;,{
    init:function(){
         
    },
});    </description>
    <dc:date>2014-07-14T17:40:30+09:00</dc:date>
    <utime>1405327230</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/tmlibjs/pages/20.html">
    <title>クラスの書き方</title>
    <link>https://w.atwiki.jp/tmlibjs/pages/20.html</link>
    <description>
      *tm.display.TriangleShapeを継承

tm.define(&quot;Player&quot;, { // クラス名
    superClass: &quot;[[tm.display.TriangleShape]]&quot;, // 継承するtmlib.jsクラス
    init: function(){ // クラスメソッド
        this.superInit(); // 親クラスのInit関数呼び出し
    },
});

*tm.display.AnimationSpriteを継承

tm.define(&quot;user.Player&quot;, {
    superClass: &quot;[[tm.display.AnimationSprite]]&quot;,
    init: function(){
        
        var ss = tm.asset.SpriteSheet({
            image: &quot;chick&quot;,// ローディングクラスで読み込んだASSETS画像のラベル名
            frame: {
                width: 32, // スプライト幅
                height: 32, // スプライト高さ
                count: 64 //スプライトコマ数
            },
            &quot;animations&quot;: {
                // Walk
                // ひよこ
                chick_walk: {
                    frames: [1, 2, 3, 2],
                    next: &quot;chick_walk&quot;,
                    frequency: 4
                },
                play: {
                    frames: [0, 1, 2, 2, 3, 4, 5],
                    next: &quot;play&quot;,
                    frequency: 2,
                },
            },
        });
        
        this.superInit(ss);
        
        this.direct = &quot;left&quot;;
        this.isMobile = tm.isMobile;
        
        this.vx = -4;
    },
    update: function(app){
        
        if(app.frame % 2 == 0) {
            this.frameIndex++;
        }

        // move
        this.x += this.vx;
        if(this.x &lt; 0) {
            this.x = 0;
            this.vx *= -1;
            this.scaleX *= -1;
        } else if(this.x &gt; SCREEN_WIDTH) {
            this.x = SCREEN_WIDTH;
            this.vx *= -1;
            this.scaleX *= -1;
        }
        
    },
});    </description>
    <dc:date>2014-07-14T17:37:32+09:00</dc:date>
    <utime>1405327052</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/tmlibjs/pages/27.html">
    <title>エラー事例</title>
    <link>https://w.atwiki.jp/tmlibjs/pages/27.html</link>
    <description>
      ----
*Uncaught TypeError: Cannot read property &#039;frequency&#039; of undefined tmlib.js:15124
&gt;(anonymous function) tmlib.js:15124
&gt;tm.define.fire tmlib.js:1990
&gt;tm.define._update tmlib.js:12410
&gt;tm.app.BaseApp.[[tm.createClass]]._updateElement tmlib.js:11732
&gt;tm.app.BaseApp.tm.createClass._updateElement tmlib.js:11738
&gt;tm.app.BaseApp.tm.createClass._update tmlib.js:11724
&gt;tm.app.BaseApp.tm.createClass._loop tmlib.js:11579
&gt;(anonymous function) tmlib.js:11556
&gt;temp tmlib.js:253

[[tm.display.AnimationSprite]]クラスに、与えたスプレッドシートに存在しない、
アニメーションラベルがgotoAndPlay()で指定された際に発生。

----
*Uncaught TypeError: Cannot set property &#039;x&#039; of null tmlib.js:12293
&gt;tm.define.setPosition tmlib.js:12293
&gt;tm.define.init index_user_scripts.js:103
&gt;tm_class tmlib.js:101
&gt;(anonymous function) index_user_scripts.js:66
&gt;tm.define.fire tmlib.js:1990
&gt;tm.define._dispatchPointingEvent tmlib.js:12500
&gt;tm.define.__checkPointing tmlib.js:12483
&gt;tm.define._checkTouch tmlib.js:12443
&gt;tm.define._update tmlib.js:12414
&gt;tm.app.BaseApp.tm.createClass._updateElement tmlib.js:11732
&gt;tm.app.BaseApp.tm.createClass._update tmlib.js:11724
&gt;tm.app.BaseApp.tm.createClass._loop tmlib.js:11579
&gt;(anonymous function) tmlib.js:11556
&gt;temp tmlib.js:253

[[tm.app.AnimationSprite]]のthis.superInit()を呼ばずにsetPosition()した際に発生    </description>
    <dc:date>2014-07-14T17:31:28+09:00</dc:date>
    <utime>1405326688</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/tmlibjs/pages/26.html">
    <title>tm.app.Object2D</title>
    <link>https://w.atwiki.jp/tmlibjs/pages/26.html</link>
    <description>
      *説明
Object2D

*公式ドキュメント
[[tm.app.Object2D&gt;&gt;http://phi-jp.github.io/tmlib.js/docs/index.html#!/api/tm.app.Object2D]]    </description>
    <dc:date>2014-07-11T16:35:15+09:00</dc:date>
    <utime>1405064115</utime>
  </item>
  </rdf:RDF>
