<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>いちばんやさしいゲームの作り方 &#187; オーサリングツール</title>
	<atom:link href="http://www.game-create.com/archives/category/%e3%82%aa%e3%83%bc%e3%82%b5%e3%83%aa%e3%83%b3%e3%82%b0%e3%83%84%e3%83%bc%e3%83%ab/feed" rel="self" type="application/rss+xml" />
	<link>http://www.game-create.com</link>
	<description>文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ</description>
	<lastBuildDate>Tue, 08 Jun 2010 01:28:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Multimedia Fusion 2 が Amazon で売っとる</title>
		<link>http://www.game-create.com/archives/2523</link>
		<comments>http://www.game-create.com/archives/2523#comments</comments>
		<pubDate>Sun, 29 Nov 2009 14:55:51 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オーサリングツール]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Multimedia Fusion]]></category>
		<category><![CDATA[同人ゲーム]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=2523</guid>
		<description><![CDATA[今回も一番安く買えるのだろうか…、どきどき。


上位版の Multimedia Fusion 2 Developer というのもすごそうです。試用期限付きゲームを作ったり、ロゴや著作権表記なしで商用配布を可能にできたり [...]]]></description>
			<content:encoded><![CDATA[<p>今回も一番安く買えるのだろうか…、どきどき。</p>
<p><span id="more-2523"></span></p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=game-create-22&#038;o=9&#038;p=8&#038;l=as1&#038;m=amazon&#038;f=ifr&#038;md=1X69VDGQCMF7Z30FM082&#038;asins=B002V8G76K" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" class="left"></iframe></p>
<p>上位版の <a href="http://www.amazon.co.jp/gp/product/B002V8G76U?ie=UTF8&#038;tag=game-create-22&#038;linkCode=as2&#038;camp=247&#038;creative=7399&#038;creativeASIN=B002V8G76U">Multimedia Fusion 2 Developer</a><img src="http://www.assoc-amazon.jp/e/ir?t=game-create-22&#038;l=as2&#038;o=9&#038;a=B002V8G76U" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" class="external" /> というのもすごそうです。試用期限付きゲームを作ったり、ロゴや著作権表記なしで商用配布を可能にできたりと、同人ゲーム開発なんかに嬉しい感じですね。</p>
<p>「ここまでできるならゲームプログラミングなんて覚えなくてもいいや」という声が聞こえてきそうで怖いです。来年とか個人ゲーム制作シーンがどう変わるか怖いの半分、楽しみなの半分…</p>
<p>最終的にプログラミングを学びたいけど、入り口としてこういうのから入るってのはおすすめしたいパターンです。自分もこの前身のソフトウェアでゲーム制作の面白さに目覚めた人です。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/2523/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>まだ、 Flash Player に深度バッファはないのでしょうか？</title>
		<link>http://www.game-create.com/archives/2443</link>
		<comments>http://www.game-create.com/archives/2443#comments</comments>
		<pubDate>Wed, 11 Nov 2009 18:03:05 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オーサリングツール]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Adobe CS]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[InDesign]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=2443</guid>
		<description><![CDATA[ちょっと前までは 3D の機能がなかったので当然ですが、現在はどうなのでしょうか。

深度バッファは 3D 描画において、余分な絵を描かないようにするためのメモリ領域のことです。余分な絵というのは手前に他の絵があったりし [...]]]></description>
			<content:encoded><![CDATA[<p>ちょっと前までは 3D の機能がなかったので当然ですが、現在はどうなのでしょうか。</p>
<p><span id="more-2443"></span></p>
<p>深度バッファは 3D 描画において、余分な絵を描かないようにするためのメモリ領域のことです。余分な絵というのは手前に他の絵があったりして、その奥に絵を描いても隠れてしまうため、結局プレイヤーに見えないような領域を指します。</p>
<p>Flash Player が深度バッファをサポートしてくれると結構面白いなぁ、なんて考えているのですが、それこそ<a href="http://www.game-create.com/archives/1955">進むべき道がわからなくなる</a>ような気もします。どうなることやら。</p>
<p><a href="http://www.game-create.com/archives/2432">おとといのエントリー</a>ではありませんが、 Flash のようなツールの表現方法に物足りなくなってくると「ゲームプログラミングやってみようかな」なんて流れになって仲間が増えるのかもしれません。ゲームプログラミングの入門として Flash というのは大変お勧めできるルートなのですが、腰を据えて情報発信するにはまだまだ準備不足になります。</p>
<p>話がそれましたが、 Flash の 3D っぽい機能の最新情報が大変気になりますので CS4 の導入を検討しなければなりますまい（なんでやねん）。今、キャッシュバックキャンペーンをやっていますが、従来と同じであれば CS5 発表後に CS4 を買うと無償でアップグレードできるはずです。ただの興味本位だったら CS5 を待つというのも手かもしれません。</p>
<p>ちなみに Flash の 3D 機能を試したいだけなら <a href="http://www.game-create.com/archives/315">Flex SDK</a> で十分です。あ、いや、作る作品によっては本格的な開発にも利用できますね、たぶん。製品版の Flash は無理をして買わない方が良いと思います。自分も <a href="http://www.game-create.com/archives/1976">InDesign の件</a>さえなければ CS3 で頑張りたいのですが…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/2443/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>仕事で Flash のことを訊かれたので答えてみました</title>
		<link>http://www.game-create.com/archives/1835</link>
		<comments>http://www.game-create.com/archives/1835#comments</comments>
		<pubDate>Fri, 19 Jun 2009 09:25:34 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オーサリングツール]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[VC++ 2008 EE]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[アニメーション]]></category>
		<category><![CDATA[コンパイラ]]></category>
		<category><![CDATA[デバッガ]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1835</guid>
		<description><![CDATA[同じ疑問をお持ちの方がいらっしゃいましたら参考にしてみて下さい。

Flash が無いと SWF は作れないの？
いいえ、 Flex SDK があれば無償で SWF を作ることができます。
Flash と Flex SD [...]]]></description>
			<content:encoded><![CDATA[<p>同じ疑問をお持ちの方がいらっしゃいましたら参考にしてみて下さい。</p>
<p><span id="more-1835"></span></p>
<h4>Flash が無いと SWF は作れないの？</h4>
<p>いいえ、 Flex SDK があれば無償で SWF を作ることができます。</p>
<h4>Flash と Flex SDK はどう違うの？</h4>
<p>Flash を Visual C++ のような IDE と考えると、 Flex SDK は cl.exe とか link.exe とか nmake.exe みたいなものです。ただし、 Flex SDK にて SWF を作るためには JRE （ Java のランタイム）が必要です。</p>
<h4>Flash を買う意味あるの？</h4>
<p>アニメーション要素のあるムービーを低コストで作りたい場合は大いにあります。 Flash があればモーションをマウスでつけることができますし、モーションの惰性も二次元のグラフで簡単に指定できます。描画ツールもありますので、単純な図形をマウスやペンタブレットで描くこともできます。</p>
<p>もし、 Flash を使わない場合は、座標や回転値などのモーションデータをオブジェクトと数値で指定するか、 XML で指定なければなりません。</p>
<h4>あなたはアニメーションを作れないのに、なぜ Flash を持ってるの？</h4>
<p>デバッガが便利なのと、 Creative Suite にバンドルされていたからです。仕事で作った SWF は Stage のタイムラインの１フレームに起動コードがあるだけで、あとは ActionScript で構築しました。ここだけ見ると無駄なんですが、それを無駄と思わせないのはデバッガの存在が大きいと思います。</p>
<h4>簡単に覚えられる？</h4>
<p>なんらかのプログラミング言語の経験がある方にとっては、携帯 Flash や昔の Flash に比べたら遙かに難度は低いと思います。 Flash は Macromedia 時代からそうだったのですが、マニュアルが非常に良くできていて、情報源に不足がありません（トピック毎にコピペで動くサンプルがあるのが嬉しいです）。ただ、全く初めての場合は、入門書に頼った方が良いと思います（少なくともタイムラインが問題なく使えるようになるまでは）。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1835/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>内容がない表示オブジェクトの大きさはゼロ</title>
		<link>http://www.game-create.com/archives/1685</link>
		<comments>http://www.game-create.com/archives/1685#comments</comments>
		<pubDate>Tue, 12 May 2009 14:58:08 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オーサリングツール]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[DisplayObject]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[画像]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1685</guid>
		<description><![CDATA[



Flash で謎のバグに悩まされていたのですが、どうやら内容がない表示オブジェクトの大きさが変更できないことが原因だったようです。自分で width とか指定してもだめなんですね。マニュアルに書いてありました。
 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.game-create.com/wp-content/plugins/wp-tegaki/wp-tegaki-img.php?tegaki_id=1685-0&amp;page=1" alt="そう　ゼロゼロゼロ　それは始まりの場所" width="435" height="34" /><br />
<img src="http://www.game-create.com/wp-content/plugins/wp-tegaki/wp-tegaki-img.php?tegaki_id=1685-1&amp;page=1" alt="またそこに立てば何か始まり" width="297" height="34" /><br />
<a href="http://www12.plala.or.jp/vitality/tamurapan/"><img src="http://www.game-create.com/wp-content/plugins/wp-tegaki/wp-tegaki-img.php?tegaki_id=1685-2&amp;page=1" alt="by あゆみお姉さん" width="149" height="27" /></a></p>
<p><span id="more-1685"></span></p>
<p>Flash で謎のバグに悩まされていたのですが、どうやら内容がない表示オブジェクトの大きさが変更できないことが原因だったようです。自分で width とか指定してもだめなんですね。マニュアルに書いてありました。</p>
<p>たとえば画像ファイルのデータを内容に持つ表示オブジェクトを作ろうとするとき、画像ファイルを非同期に読み込んでしまうと、読み込まれて addChild() するまで表示オブジェクトの大きさが０になります（ width や height に値を入れても反映されません）。</p>
<p>ちなみに Graphics オブジェクトを使って描画したグラフィックでも内容と見なされるようです。表示ツリーに入らない四角形とかも内容としては十分です。ですので、目的の表示オブジェクトの大きさが決まっているのであれば、最初になんらかのグラフィックを描いておくのも手だと思います。</p>
<p>非同期って難しいですね。でも、ゲームプログラミングではよくあることだと思いますので勉強しています。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1685/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActionScript を使う場合はメンバ変数を m_ とかで修飾するポリシーが良いかもしれません</title>
		<link>http://www.game-create.com/archives/1527</link>
		<comments>http://www.game-create.com/archives/1527#comments</comments>
		<pubDate>Mon, 20 Apr 2009 11:53:45 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オーサリングツール]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[クラス]]></category>
		<category><![CDATA[メンバ]]></category>
		<category><![CDATA[変数]]></category>
		<category><![CDATA[関数]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1527</guid>
		<description><![CDATA[…というのも、以下のコードがエラーになるのです。
public class SomeClass
{
  private var member:String;
  // ↓オーバーロードできねぇ！
  public [...]]]></description>
			<content:encoded><![CDATA[<p>…というのも、以下のコードがエラーになるのです。</p>
<div class="hl-surround" ><div class="hl-main"><pre><span class="hl-reserved">public class </span><span class="hl-identifier">SomeClass
</span><span class="hl-brackets">{
  </span><span class="hl-reserved">private </span><span class="hl-identifier">var member</span><span class="hl-code">:</span><span class="hl-identifier">String</span><span class="hl-code">;
  </span><span class="hl-comment">// ↓オーバーロードできねぇ！
  </span><span class="hl-reserved">public </span><span class="hl-identifier">function set member</span><span class="hl-brackets">(</span><span class="hl-identifier">member</span><span class="hl-code">:</span><span class="hl-identifier">String</span><span class="hl-brackets">)</span><span class="hl-code">:</span><span class="hl-types">void
  </span><span class="hl-brackets">{
    </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">member</span><span class="hl-code"> = </span><span class="hl-identifier">member</span><span class="hl-code">;
  </span><span class="hl-brackets">}
  </span><span class="hl-comment">// ↓こっちも！
  </span><span class="hl-reserved">public </span><span class="hl-identifier">function get member</span><span class="hl-brackets">()</span><span class="hl-code">:</span><span class="hl-identifier">String
  </span><span class="hl-brackets">{
    </span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">member</span><span class="hl-code">;
  </span><span class="hl-brackets">}
}</span></pre></div></div>
<p>ECMA の新しい仕様は全く把握しておりません。 getter, setter といっても関数の延長なんでしょうか。</p>
<p><span id="more-1527"></span></p>
<p>普段は、「 this をつければメンバかパラメータか区別できるでしょう」という考えの下、メンバ変数にプリフィクスやサフィックスをつけないのですが、広く使われているパターンですし、私も m_ とかつけるポリシーに移行しようか検討しています。</p>
<p>まだ、本格的なゲームのコードを書いていないだけに迷います。今なら何とでもできますが、考えすぎても時間がもったいありません。</p>
<p>でも、 C# ならもっとうまくいけたような気がします。 getter, setter に名前が要らなかったような気が…（メンバ変数名が採用されるとか）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1527/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash のモーション XML エレメントを自作してみた</title>
		<link>http://www.game-create.com/archives/1514</link>
		<comments>http://www.game-create.com/archives/1514#comments</comments>
		<pubDate>Wed, 15 Apr 2009 15:30:24 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オーサリングツール]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[インスタンス]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1514</guid>
		<description><![CDATA[話題のモーション XML エレメントですが、奇跡的に仕事で使うタイミングがあったので自作してみました。
本当はこれを他のプログラムで利用する方法が一番知りたかったのですが、まぁ、それをやるにもフォーマットを知る必要があり [...]]]></description>
			<content:encoded><![CDATA[<p>話題の<a href="http://www.game-create.com/archives/1308">モーション XML エレメント</a>ですが、奇跡的に仕事で使うタイミングがあったので自作してみました。</p>
<p>本当はこれを他のプログラムで利用する方法が一番知りたかったのですが、まぁ、それをやるにもフォーマットを知る必要がありますので、わかったことを残しておきます。</p>
<p><span id="more-1514"></span></p>
<p>まず、モーション XML エレメントというのは、 IDE から使う場合は必要な項目をガッチガチに固めてやらないとまずいっぽいのですが、以下のように ActionScript から使う場合は必要な項目だけ設定してやれば良さそうです（とりあえず動きました）。</p>
<div class="hl-surround" style="height:280px;"><div class="hl-main"><pre><span class="hl-reserved">import </span><span class="hl-identifier">fl</span><span class="hl-default">.</span><span class="hl-identifier">motion</span><span class="hl-default">.</span><span class="hl-identifier">Animator</span><span class="hl-default">;

</span><span class="hl-identifier">var theShape</span><span class="hl-default">:</span><span class="hl-identifier">Shape</span><span class="hl-default"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">Shape</span><span class="hl-brackets">()</span><span class="hl-default">;
</span><span class="hl-identifier">theShape</span><span class="hl-default">.</span><span class="hl-identifier">graphics</span><span class="hl-default">.</span><span class="hl-identifier">beginFill</span><span class="hl-brackets">(</span><span class="hl-number">0x0000FF</span><span class="hl-brackets">)</span><span class="hl-default">;
</span><span class="hl-identifier">theShape</span><span class="hl-default">.</span><span class="hl-identifier">graphics</span><span class="hl-default">.</span><span class="hl-identifier">drawRect</span><span class="hl-brackets">(</span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-number">100</span><span class="hl-code">, </span><span class="hl-number">100</span><span class="hl-brackets">)</span><span class="hl-default">;
</span><span class="hl-identifier">theShape</span><span class="hl-default">.</span><span class="hl-identifier">graphics</span><span class="hl-default">.</span><span class="hl-identifier">endFill</span><span class="hl-brackets">()</span><span class="hl-default">;

</span><span class="hl-identifier">addChild</span><span class="hl-brackets">(</span><span class="hl-identifier">theShape</span><span class="hl-brackets">)</span><span class="hl-default">;

</span><span class="hl-identifier">var theMotion</span><span class="hl-default">:</span><span class="hl-identifier">XML</span><span class="hl-default"> =
  &lt;</span><span class="hl-identifier">Motion duration</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">10</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">xmlns</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">fl.motion.*</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">xmlns</span><span class="hl-default">:</span><span class="hl-identifier">geom</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">flash.geom.*</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">xmlns</span><span class="hl-default">:</span><span class="hl-identifier">filters</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">flash.filters.*</span><span class="hl-quotes">&quot;</span><span class="hl-default">&gt;
    &lt;</span><span class="hl-identifier">Keyframe index</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">x</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">100</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">y</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">100</span><span class="hl-quotes">&quot;</span><span class="hl-default">&gt;
      &lt;</span><span class="hl-identifier">color</span><span class="hl-default">&gt;
        &lt;</span><span class="hl-identifier">Color alphaMultiplier</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0</span><span class="hl-quotes">&quot;</span><span class="hl-default"> /&gt;
      &lt;/</span><span class="hl-identifier">color</span><span class="hl-default">&gt;
      &lt;</span><span class="hl-identifier">tweens</span><span class="hl-default">&gt;
        &lt;</span><span class="hl-identifier">CustomEase target</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">position</span><span class="hl-quotes">&quot;</span><span class="hl-default">&gt;
          &lt;</span><span class="hl-identifier">geom</span><span class="hl-default">:</span><span class="hl-identifier">Point x</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.1</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">y</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.1</span><span class="hl-quotes">&quot;</span><span class="hl-default"> /&gt;
          &lt;</span><span class="hl-identifier">geom</span><span class="hl-default">:</span><span class="hl-identifier">Point x</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.2</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">y</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.15</span><span class="hl-quotes">&quot;</span><span class="hl-default"> /&gt;
          &lt;</span><span class="hl-identifier">geom</span><span class="hl-default">:</span><span class="hl-identifier">Point x</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.3</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">y</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.2</span><span class="hl-quotes">&quot;</span><span class="hl-default"> /&gt;
          &lt;</span><span class="hl-identifier">geom</span><span class="hl-default">:</span><span class="hl-identifier">Point x</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.4</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">y</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.25</span><span class="hl-quotes">&quot;</span><span class="hl-default"> /&gt;
          &lt;</span><span class="hl-identifier">geom</span><span class="hl-default">:</span><span class="hl-identifier">Point x</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.5</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">y</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.3</span><span class="hl-quotes">&quot;</span><span class="hl-default"> /&gt;
          &lt;</span><span class="hl-identifier">geom</span><span class="hl-default">:</span><span class="hl-identifier">Point x</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.6</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">y</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.35</span><span class="hl-quotes">&quot;</span><span class="hl-default"> /&gt;
          &lt;</span><span class="hl-identifier">geom</span><span class="hl-default">:</span><span class="hl-identifier">Point x</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.7</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">y</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.4</span><span class="hl-quotes">&quot;</span><span class="hl-default"> /&gt;
          &lt;</span><span class="hl-identifier">geom</span><span class="hl-default">:</span><span class="hl-identifier">Point x</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.8</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">y</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.45</span><span class="hl-quotes">&quot;</span><span class="hl-default"> /&gt;
          &lt;</span><span class="hl-identifier">geom</span><span class="hl-default">:</span><span class="hl-identifier">Point x</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.9</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">y</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">0.75</span><span class="hl-quotes">&quot;</span><span class="hl-default"> /&gt;
        &lt;/</span><span class="hl-identifier">CustomEase</span><span class="hl-default">&gt;
        &lt;</span><span class="hl-identifier">SimpleEase target</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">color</span><span class="hl-quotes">&quot;</span><span class="hl-default"> /&gt;
      &lt;/</span><span class="hl-identifier">tweens</span><span class="hl-default">&gt;
    &lt;/</span><span class="hl-identifier">Keyframe</span><span class="hl-default">&gt;
    &lt;</span><span class="hl-identifier">Keyframe index</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">9</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">x</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">400</span><span class="hl-quotes">&quot; </span><span class="hl-identifier">y</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">200</span><span class="hl-quotes">&quot;</span><span class="hl-default">&gt;
      &lt;</span><span class="hl-identifier">color</span><span class="hl-default">&gt;
        &lt;</span><span class="hl-identifier">Color alphaMultiplier</span><span class="hl-default">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">1.0</span><span class="hl-quotes">&quot;</span><span class="hl-default"> /&gt;
      &lt;/</span><span class="hl-identifier">color</span><span class="hl-default">&gt;
    &lt;/</span><span class="hl-identifier">Keyframe</span><span class="hl-default">&gt;
  &lt;/</span><span class="hl-identifier">Motion</span><span class="hl-default">&gt;;

</span><span class="hl-identifier">var theAnimator</span><span class="hl-default">:</span><span class="hl-identifier">Animator</span><span class="hl-default"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">Animator</span><span class="hl-brackets">(</span><span class="hl-identifier">theMotion</span><span class="hl-code">, </span><span class="hl-identifier">theShape</span><span class="hl-brackets">)</span><span class="hl-default">;
</span><span class="hl-identifier">theAnimator</span><span class="hl-default">.</span><span class="hl-identifier">play</span><span class="hl-brackets">()</span><span class="hl-default">;</span></pre></div></div>
<p>初めて見る方は驚かれるかもしれません。なんと ActionScript は XML をソースコード中に組み込むことができるんですね（ PHP などでは文字列として用意してパースしなければなりません）。</p>
<p>以下、ポイントです。</p>
<ul>
<li>この XML で動かしたい表示オブジェクトを最初に構築しておく（上記コード中の theShape オブジェクト）</li>
<li>Motion 要素の duration 属性に総フレーム数を指定する（上記コードは 10 フレームとなる）</li>
<li>キーフレームの数だけ Keyframe 要素を追加する（上記コードは２つのキーフレームがある）</li>
<li>Keyframe 要素の index 属性にフレーム番号を指定する（０から始まる点に注意）</li>
<li>Keyframe 要素に x, y, scaleX, scaleY, skewX, skewY, rotation といった、対象表示オブジェクトの位置や大きさ、回転に関する情報を指定する</li>
<li>トゥイーンを使いたい場合は Keyframe 要素内に tweens 要素を追加する</li>
<li>SimpleEase 要素はキーフレームとキーフレームの中間のアニメーションを中割で自動作成する</li>
<li>CustomEase 要素はキーフレームとキーフレームの中間のアニメーションをどういった割合で作成するか指定する（単純なトゥイーンデータでも感性がついているように動かすこともできる）</li>
</ul>
<p>XML が用意できたら Animator クラスを使ってアニメーションを開始します（最後の２行）。 Animator クラスのインスタンスは参照が０にならないように注意してください。アニメーションが止まってしまいます。</p>
<p>ちなみに、「モーション XML エレメントのデータを動的に変更できないのか？」と疑問に思われるかもしれませんが、 theMotion が XML オブジェクトになっていますので、後からノードの編集は可能です。また、ソースコードに書いた XML 中で以下のようにすると変数を展開することができます。</p>
<div class="hl-surround" ><div class="hl-main"><pre><span class="hl-comment">&lt;!-- variable が Flash の変数 --&gt;
</span><span class="hl-brackets">&lt;</span><span class="hl-reserved">Element </span><span class="hl-var">attribute</span><span class="hl-code">={</span><span class="hl-var">variable</span><span class="hl-code">} </span><span class="hl-brackets">/&gt;
</span><span class="hl-comment">&lt;!-- ↓ variable の中身が value の場合は以下のように展開される --&gt;
</span><span class="hl-brackets">&lt;</span><span class="hl-reserved">Element </span><span class="hl-var">attribute</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">value</span><span class="hl-quotes">&quot; </span><span class="hl-brackets">/&gt;</span></pre></div></div>
<p>もう、簡単な動きに IDE は要らなくなるかもしれません。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1514/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>次期 Flash は右手系座標らしいです</title>
		<link>http://www.game-create.com/archives/1458</link>
		<comments>http://www.game-create.com/archives/1458#comments</comments>
		<pubDate>Sat, 28 Mar 2009 09:10:34 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オーサリングツール]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1458</guid>
		<description><![CDATA[次期といいながらすでにリリースされております。今、主流が Flash Player 9 かと思われますが Flash Player 10 は 3D の機能が強化されました。これのことです。

3D 空間のお話しをすると右 [...]]]></description>
			<content:encoded><![CDATA[<p>次期といいながらすでにリリースされております。今、主流が Flash Player 9 かと思われますが Flash Player 10 は 3D の機能が強化されました。これのことです。</p>
<p><span id="more-1458"></span></p>
<p>3D 空間のお話しをすると右手系とか左手系とかあるのですが、これは何かというと、かなり嘘っぽい書き方になりますが、Ｚ軸の手前と奥、どちらが正の方向か？ということです。言い方を変えると、Ｚ座標をプラスすると画面の手前と奥どちらに移動するか？ということです。</p>
<p>Flash は右手系ですので、Ｚ値を大きくすると奥に移動します（パソコンの画面のように原点が左上の場合）。逆に小さくすると手前に移動します。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1458/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash パフォーマンスアップ試行錯誤、重いのは描画か？計算か？</title>
		<link>http://www.game-create.com/archives/1436</link>
		<comments>http://www.game-create.com/archives/1436#comments</comments>
		<pubDate>Sat, 21 Mar 2009 09:12:25 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オーサリングツール]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[ラスタライズ]]></category>
		<category><![CDATA[行列]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1436</guid>
		<description><![CDATA[疑似 3D っぽい Flash アニメーションのパフォーマンスが上がらず困っております。

WEB で見つけたノウハウは当てられるものから順に当ててみたのですが、まだまだサクサク動きません。
中でも Event.ENTE [...]]]></description>
			<content:encoded><![CDATA[<p>疑似 3D っぽい Flash アニメーションのパフォーマンスが上がらず困っております。</p>
<p><span id="more-1436"></span></p>
<p>WEB で見つけたノウハウは当てられるものから順に当ててみたのですが、まだまだサクサク動きません。</p>
<p>中でも Event.ENTER_FRAME にイベントハンドラを設定するというのがもっとも神経を使う設計（重くなりがちな設計）らしいので、次はここに手を入れるしかないのかもしれませぬ。</p>
<p>線形性をかなぐり捨てて同次行列をやめるというのも手かもしれません。単純に考えて１回のかけ算が半分以下になります。しかし、今のコンピュータってかけ算がネックになることってあるのでしょうか。もちろん回数にも依るでしょうが、やっぱり一番時間がかかりそうなのは描画周りのような気がします。特にラスタライザに行列を渡しているのでここが重いのかもしれません。</p>
<p>ここでいよいよ CS4 の登場か…、登場なのか…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1436/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>とりあえず行列のかけ算をメソッドで実装するというのは止めようと思います</title>
		<link>http://www.game-create.com/archives/1433</link>
		<comments>http://www.game-create.com/archives/1433#comments</comments>
		<pubDate>Fri, 20 Mar 2009 09:10:08 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オーサリングツール]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[数学]]></category>
		<category><![CDATA[線型代数学]]></category>
		<category><![CDATA[行列]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1433</guid>
		<description><![CDATA[ActionScript がそうなってるんですが、どうにも読みにくいです（英語が苦手だから特に）。
M1.contact(M2);
// ↑たぶん M1 = M1 * M2 ということなんだと思う
// ヘルプ読んで [...]]]></description>
			<content:encoded><![CDATA[<p>ActionScript がそうなってるんですが、どうにも読みにくいです（英語が苦手だから特に）。</p>
<div class="hl-surround" ><div class="hl-main"><pre>M1.contact(M2);
// ↑たぶん M1 = M1 * M2 ということなんだと思う
// ヘルプ読んでもよくわかりませんが、検算してみるとこうなってる</pre></div></div>
<p><span id="more-1433"></span></p>
<p>行列同士のかけ算というのは可換ではないので、どっちが掛ける方で、どっちが掛けられる方なのか（つまり右か左か）というのが重要になります。</p>
<div class="hl-surround" ><div class="hl-main"><pre>// 整数同士のかけ算は順番が入れ替わっても答えが同じですが…
3 * 2 = 2 * 3

// 行列同士のかけ算は違います
AB ≠ BA</pre></div></div>
<p>なんだか、関数電卓で検算するのが面倒になりました。コンピュータ使ってるのになんで検算が必要なのか、気持ちが黒くなります。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1433/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>親の特性を引き継ぎたくない場合はエラーにするしかないのか？</title>
		<link>http://www.game-create.com/archives/1430</link>
		<comments>http://www.game-create.com/archives/1430#comments</comments>
		<pubDate>Thu, 19 Mar 2009 10:55:18 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オーサリングツール]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[DisplayObjectContainer]]></category>
		<category><![CDATA[Loader]]></category>
		<category><![CDATA[オブジェクト指向]]></category>
		<category><![CDATA[クラス]]></category>
		<category><![CDATA[継承]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1430</guid>
		<description><![CDATA[オブジェクト指向は難しいです。

クラスを継承して特化する流れの中で、親の持っていた特性が用途にマッチしなくなることがあるのですが、この機能を封印するためにはエラーを起こすしかないのでしょうか。
たとえば ActionS [...]]]></description>
			<content:encoded><![CDATA[<p>オブジェクト指向は難しいです。</p>
<p><span id="more-1430"></span></p>
<p>クラスを継承して特化する流れの中で、親の持っていた特性が用途にマッチしなくなることがあるのですが、この機能を封印するためにはエラーを起こすしかないのでしょうか。</p>
<p>たとえば ActionScript の Loader なんかが良い例です。 Loader は DisplayObjectContainer を継承しているので表示ツリーを構成できるはずなのですが、これをやると例外が飛びます（ Loader の中にはひとつだけ表示オブジェクトを内包できればいいので追加や削除ができる必要はないということ）。こういう対処がベターなのか、それとも設計に問題があるのか疑問に思います。</p>
<p>私のようにスキル不足の人間でも恩恵を受けられる、「軟弱オブジェクト指向」とかあるとありがたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1430/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
