<?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/tag/%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88/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>クラス設計が年内にかたつきそう…</title>
		<link>http://www.game-create.com/archives/2650</link>
		<comments>http://www.game-create.com/archives/2650#comments</comments>
		<pubDate>Mon, 28 Dec 2009 14:52:54 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オリジナルゲーム制作]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[イベント]]></category>
		<category><![CDATA[クラス]]></category>
		<category><![CDATA[まどか]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=2650</guid>
		<description><![CDATA[ゲーム作るのに色々悩んでいたクラス設計ですが、残す課題があとひとつになりました。

現在、アニメーションデータを DB から取得してメモリに格納する方向で考えているのですが、キーフレームに設定したイベントハンドラを実行す [...]]]></description>
			<content:encoded><![CDATA[<p>ゲーム作るのに色々悩んでいたクラス設計ですが、残す課題があとひとつになりました。</p>
<p><span id="more-2650"></span></p>
<p>現在、アニメーションデータを DB から取得してメモリに格納する方向で考えているのですが、キーフレームに設定したイベントハンドラを実行する方法で悩んでいました。</p>
<p>DB から文字列でイベントハンドラの名前を取得しても、 C++ はリフレクションがないのでどうやってメソッドをコールさせればいいのかがネックだったのですが、とりあえず std::map で、文字列とメソッドへのポインタをあらかじめ格納しておく方向になりそうです。</p>
<p>あとは実用に耐える速度にするためのチューンですが、まずはインタフェースだけ決めてその後に考えます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/2650/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>イベントを送出できるのは特性だけど、受け取れるのも特性だろうか？</title>
		<link>http://www.game-create.com/archives/2450</link>
		<comments>http://www.game-create.com/archives/2450#comments</comments>
		<pubDate>Fri, 13 Nov 2009 14:01:13 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Maps API]]></category>
		<category><![CDATA[イベント]]></category>
		<category><![CDATA[クラス]]></category>
		<category><![CDATA[同人ゲーム]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=2450</guid>
		<description><![CDATA[念願のハンディパソコンが届きましたので、移動中とか眠りに落ちる直前とかまで同人ゲームの設計をやっております（これでネットにつながれば文句ないです）。…で、ちょっと悩み事が出て参りました。
ActionScript による [...]]]></description>
			<content:encoded><![CDATA[<p>念願のハンディパソコンが届きましたので、移動中とか眠りに落ちる直前とかまで同人ゲームの設計をやっております（これでネットにつながれば文句ないです）。…で、ちょっと悩み事が出て参りました。</p>
<p>ActionScript によるコンテンツ制作があまりに楽だったので、それを参考にしているのも悪いのですが、イベントを送出するという特性に対して、受け取るという特性も必要か迷っております。</p>
<p><span id="more-2450"></span></p>
<p>ActionScript では EventDispatcher 、もしくは IEventDispathcer を実装して内部でイベントを処理できるオブジェクトのみがイベントを送出できます。具体的にイベントを構築したり（プログラマが設定できない情報を登録する currentTarget とか）伝播させたりするのはコアのエンジンがやりそうな気もしますので、イベントの送出に特性が必要なのはたぶん仕方ないのだと思います。</p>
<p>ただ、イベントを受け取ることには特性はいらないような気がするのです（今、想定しているゲームの要件ならという条件付きですが）。実は ActionScript もそうなっているのですが、イベントを待ち受けるのに addEventListner() を使わねばならず、これのインタフェースと実装が IEventDispatcher と EventDispathcer にあります。ちょっと、イベントを受け取るという振る舞いを想像するのに Dispatch という単語がピンとこなくて悩んでいました。</p>
<p>Google Maps API なんかですと、イベントは誰でも受け取れて、リスナー登録はイベントクラスの静的メソッドで実現します。こういうの良いかもなぁ…、なんて思ったのですが、これだと private なイベントハンドラが登録できなそうです。</p>
<p>よくわからないのに無理にオブジェクト指向っぽくしているのがいけません。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/2450/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MIDI ファイルに書き出すときは第１小節から</title>
		<link>http://www.game-create.com/archives/2060</link>
		<comments>http://www.game-create.com/archives/2060#comments</comments>
		<pubDate>Wed, 12 Aug 2009 10:16:39 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームミュージック]]></category>
		<category><![CDATA[Cubase]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[MIDI]]></category>
		<category><![CDATA[イベント]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=2060</guid>
		<description><![CDATA[Cubase で作った曲を MIDI に書き出そうとしたのですが、パッチが適用されなくて「なんでだろう？」と悩んでおりました。

どうやら、左右ロケーターで途中から書き出してしまうとプログラムチェンジなどのイベントが入ら [...]]]></description>
			<content:encoded><![CDATA[<p>Cubase で作った曲を MIDI に書き出そうとしたのですが、パッチが適用されなくて「なんでだろう？」と悩んでおりました。</p>
<p><span id="more-2060"></span></p>
<p>どうやら、左右ロケーターで途中から書き出してしまうとプログラムチェンジなどのイベントが入らないようです。 Flash で最初のフレームにクラスの定義が入るのと似ています。</p>
<p>とても納得できました。ちょっと昔の感覚が戻ってきたような気がします。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/2060/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ゲーム開発には Lua との棲み分けが重要ですと本が告げる</title>
		<link>http://www.game-create.com/archives/1818</link>
		<comments>http://www.game-create.com/archives/1818#comments</comments>
		<pubDate>Sun, 14 Jun 2009 13:49:23 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[イベント]]></category>
		<category><![CDATA[書籍]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1818</guid>
		<description><![CDATA[ゲームの処理を全部 C++ で書くと修正のたびにコンパイルが必要です。なので、タスクのような微調整が必要な部分は再読込可能な Lua なんか良いんじゃないでしょうか的な提案が本に書いてありまして、ちょっと同意です。

イ [...]]]></description>
			<content:encoded><![CDATA[<p>ゲームの処理を全部 C++ で書くと修正のたびにコンパイルが必要です。なので、タスクのような微調整が必要な部分は再読込可能な Lua なんか良いんじゃないでしょうか的な提案が<a href="http://www.game-create.com/archives/732">本</a>に書いてありまして、ちょっと同意です。</p>
<p><span id="more-1818"></span></p>
<p>イベントハンドラなんかを登録するのは Function 型（なんだそれ）がある言語がやりやすいですよね。 ActionScript とか本当にコンテンツが作りやすいのですが、あの感覚を再現するには Lua との連携です。</p>
<p>今、 Lua のテクニックをあさっています。いろいろ面白いです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1818/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ゲームのアニメーションに大切なこと</title>
		<link>http://www.game-create.com/archives/1656</link>
		<comments>http://www.game-create.com/archives/1656#comments</comments>
		<pubDate>Tue, 05 May 2009 14:30:44 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[INFINITE UNDISCOVERY]]></category>
		<category><![CDATA[アニメーション]]></category>
		<category><![CDATA[イベント]]></category>
		<category><![CDATA[ベクトル]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1656</guid>
		<description><![CDATA[「まほうつかい」の「つかい」は「遣」という字なんですね（懐かしい）。

それはさておき、今日は調子が悪くて１日中休んでいたのですが、ベッドの中でゲームのアニメーションについて考えていました。
本格的なゲームのアニメーショ [...]]]></description>
			<content:encoded><![CDATA[<p>「まほうつかい」の「つかい」は「遣」という字なんですね（懐かしい）。</p>
<p><span id="more-1656"></span></p>
<p>それはさておき、今日は調子が悪くて１日中休んでいたのですが、ベッドの中でゲームのアニメーションについて考えていました。</p>
<p>本格的なゲームのアニメーションを設計することをイメージしていたのですが、実際にプログラミングする上では以下の要素が必要だと感じました。</p>
<ul>
<li>アクティブとパッシブ</li>
<li>入力を受け付けるか受け付けないか</li>
<li>イベント設定</li>
</ul>
<p>アクティブとパッシブというのは昔から言っている、アニメーションが主導で動作に影響を与える場合と、動作が主導でアニメーションに影響を与える場合の２種類です。たとえば人間のようなキャラクターの場合は、ベクトルの方向によって「制止中」なのか「移動中」なのか。また、そのノルムによって「歩く」なのか「走る」なのかを算出する処理です（ Klick &#038; Play とか Click &#038; Create なんかにあったやつですね）。</p>
<p>次に、入力を受け付けるか受け付けないか。これはそのままの意味で、特に前述のアクティブなアニメーションの場合に、入力を受け付けて、アニメーションを中断したり変更したりできるようにするかしないかの制限が必要ということです。たとえば、インフィニットアンディスカバリーの抜刀と納刀のアニメーションは入力を受け付けませんが、ああいうのを実現する処理です。もしかしたらアクティブなアニメーションはほとんど入力を受け付けないのかもしれません（でも、そうするとキャンセルみたいなことができなくなりますね）。</p>
<p>最後のは、前述のふたつを実現するためにプログラム的に必要なことです。つまり、「アニメーションが終わったよ」というのを把握するための仕組みです。最初はこれを「なんだかイケてない」と思っていたのですが、よく考えると Flash のアニメーションにイベントを設定できるのと似ていると思い直すことができました。</p>
<p>なんともうまい言い方が思いつきません。なんか、専門書とかあれば読みたいのですが、 Gems とかには書いてあるのでしょうか。 3D の場合はこれプラス「キーフレーム」の概念が必要ですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1656/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

