<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>同志社女子大学　マルチメディア技術・ゲームデザイン</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/" />
    <link rel="self" type="application/atom+xml" href="http://www.river-field.com/dwc/atom.xml" />
    <id>tag:www.river-field.com,2008-06-01:/dwc//6</id>
    <updated>2009-01-26T01:25:15Z</updated>
    <subtitle>2005年から2008年まで同志社女子大学でのマルチメディア技術・ゲームデザインの授業用に使用していたものです</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Publishing Platform 4.01</generator>

<entry>
    <title>第１１回　マルチユーザコンテンツの作成（12月15日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/081215.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.124</id>

    <published>2008-12-14T15:00:00Z</published>
    <updated>2009-01-26T01:25:15Z</updated>

    <summary>本日の課題                        サンプルのチャットを改...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_A" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>サンプルのチャットを改良してオリジナルのチャットを作成する</li>
            <li>新しいメッセージを表示する時やメッセージ送信時に効果音を付ける</li>
            <li>記録できるパラメータのオプションを有効に活用する<br />例：ユーザ毎に色を変える、アイコンやアバターを表示する、etc...</li>
            <li>サンプル：<script type="text/javascript">showswfsample("081215.swf", 320, 240, "#999999");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>教材のダウンロード：<a href="swf/081215_k.zip">081215_k.zip</a></li>
            <li>サンプルソースのダウンロード：<a href="swf/081215_f.zip">081215_f.zip</a></li> 
          </ul>
          <h4>サーバと定期的に通信する</h4>
          <ul>
            <li>サーバとのデータ送受信を一定間隔で行うことでチャットやオンラインゲームなどのマルチユーザコンテンツを作成可能</li>
            <li>インターバルを使って一定間隔データ送受信を行う</li>
            <li>例：
<pre>loadTimerID = setInterval(this, "getchatmsg", 1000*3);
// loadTimerIDにはID番号が入るので変数の型はNumberとなる</pre></li>
            <li>不用になったインターバルや一時的に停止したい場合はインターバルをクリアする
<pre>clearInterval(loadTimerID);</pre></li>
            <li>複数のインターバルを同時に扱う場合には変数名の重複に注意</li>
          </ul>
          <h4>補足</h4>
          <ul>
            <li><a href="http://www.fumiononaka.com/TechNotes/Flash/FN0512003.html" target="_blank">改行コードのエスケープ「\n」が正しく認識されない場合の対処法</a></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>メッセージの送信が正しくできているか？（20点）</li>
            <li>効果的なサウンド処理ができているか？（20点）</li>
            <li>オプションパラメータが有効に活用できているか？（20点）</li>
            <li>効果的なメッセージ表示ができているか？（20点）</li>
            <li>オリジナリティーのあるチャットになっているか？（20点）</li>
          </ul>]]>
        
    </content>
</entry>

<entry>
    <title>第１０回　変数のロード（12月1、8日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/081201.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.121</id>

    <published>2008-11-30T15:00:00Z</published>
    <updated>2008-12-11T14:28:15Z</updated>

    <summary>本日の課題                        LoadVarsクラス...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_A" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>LoadVarsクラスを使ってランキング登録ができるコンテンツを作成する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("081201.swf", 240, 240, "#000000");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>教材のダウンロード：<a href="swf/081208_k.zip">081208_k.zip</a></li>
            <li>サンプルソースのダウンロード：<a href="swf/081201_f.zip">081201_f.zip</a></li>
          </ul>
          <h4>変数のロード</h4>
          <ul>
            <li>LoadVarsクラスを使うことでテキスト形式で変数に値をロードすることができる</li>
            <li>ロードするテキストはローカル上でもサーバ上でも可能</li>
            <li>受信するテキストはクエリ形式（変数名１＝値１＆変数名２＝値２＆…）である必要がある
<pre>username=takashi&gamepoint=1000</pre></li>
            <li>受信したデータはオブジェクトのプロパティとして取り出すことができる</li>
            <li>LoadVarsクラスを使った変数のロードの例：
<pre>var LoadObj:LoadVars = new LoadVars();
LoadObj.onLoad = function(success:Boolean) {
  // この中でのthisはLoadObjを指す
  _root.uname.text = this.username;
}
LoadObj.load("data.txt");</pre></li>
          </ul>
          <h4>変数の送受信</h4>
          <ul>
            <li>PHP、CGIなどのサーバプログラムを介してサーバとテキストデータをやりとりすることができる</li>
            <li>データをサーバに送りその返り値を受け取るには送信用と受信用の２つのオブジェクトを用意する</li>
            <li>送信するデータは送信用オブジェクトのプロパティとして設定する</li>
            <li>LoadVarsクラスを使った変数の送受信の例：
<pre>SendObj = new LoadVars();
LoadObj = new LoadVars();
LoadObj.onLoad = function(success:Boolean) {
  // 送信終了時の処理を記述
}
SendObj.username = "takashi";
SendObj.gamepoint = 2000;
SendObj.sendAndLoad("putlank.php", LoadObj);</pre></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>送信データのセットができているか？（20点）</li>
            <li>受信完了待ちの処理と完了時の処理ができているか？（20点）</li>
            <li>受信データの取得ができているか？（20点）</li>
            <li>効果的なランキング表示ができているか？（20点）</li>
            <li>ランキング登録ができるコンテンツになっているか？（20点）</li>
          </ul>]]>
        
    </content>
</entry>

<entry>
    <title>第９回　サウンドクラス（11月24日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/081124.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.119</id>

    <published>2008-11-23T15:00:00Z</published>
    <updated>2008-11-26T16:03:10Z</updated>

    <summary>本日の課題                        サウンドクラスを活用し...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_A" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>サウンドクラスを活用したムービーを作成する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("081124.swf", 240, 240, "#000000");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>教材のダウンロード：<a href="swf/SOUND.zip">SOUND.zip</a></li>
            <li>サンプルソースのダウンロード：<a href="swf/081124_f.zip">081124_f.zip</a></li>
          </ul>
          <h4>サウンドクラス</h4>
          <ul>
            <li>サウンドクラスを使うことでActionScriptで様々なサウンドの制御が可能になる</li>
            <li>ActionScriptで再生するサウンドはリンケージシンボルとして書き出しておく</li>
            <li>インスタンス生成時にターゲットになるムービークリップインスタンスを指定する</li>
            <li>例：
<pre>// MCをターゲットにインスタンスを生成
var soundObj:Object = new Sound(target_mc);
// サウンドをアタッチする
soundObj.attachSound("mySound");</pre></li>
          </ul>
          <h4>サウンドのコントロール</h4>
          <ul>
            <li>サウンドクラスのインスタンスに対して命令を送る事でサウンドのコントロールができる</li>
            <li>サウンドの再生停止だけではなく音量やパン（位相）の設定も可能</li>
            <li>サウンドクラスでのサウンドの制御はタイムライン毎に行われる</li>
            <li>例：
<pre>soundObj.stop();
soundObj.setVolume(60); // 音量の設定（0～100）
soundObj.setPan(0); // パンの設定（-100～100）
soundObj.start(0,1); // 開始位置、ループ回数</pre></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>サウンドのリンケージ設定が正しくできているか？（20点）</li>
            <li>サウンドオブジェクトの生成とサウンドのアタッチが正しくできているか？（20点）</li>
            <li>適切なタイミングでサウンド再生ができているか？（20点）</li>
            <li>効果的なサウンドの設定ができているか？（20点）</li>
            <li>効果的なムービーが作成できているか？（20点）</li>
          </ul>
          <p>ファイル名に<strong>全角文字や記号を使わない</strong>こと</p>
          <p>Flashファイル（*.fla）とASファイル（*.as）を提出する</p>
          <p>提出期限は授業日の週の<strong>水曜日の午後９時</strong></p>]]>
        
    </content>
</entry>

<entry>
    <title>第８回　外部ファイルの読込み（11月17日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/081117.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.117</id>

    <published>2008-11-16T15:00:00Z</published>
    <updated>2008-11-20T05:21:44Z</updated>

    <summary>本日の課題                        外部ファイル読込みを使...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_A" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>外部ファイル読込みを使ったムービーを作成する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("081117.swf", 240, 240, "#666666");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>教材のダウンロード：<a href="swf/081117_k.zip">081117_k.zip</a></li>
            <li>サンプルソースのダウンロード：<a href="swf/081117_f.zip">081117_f.zip</a></li>
          </ul>
          <h4>外部ファイルの読込み</h4>
          <ul>
            <li>ムービーを実行中に別のSWFファイルやJEPGファイルを読込むことができる</li>
            <li>ファイルの読込みはムービークリップインスタンスを置き換える形で行われる</li>
            <li>読込み用のムービークリップをあらかじめ作成しておくか新規のムービークリップを動的に作成する</li>
            <li>読み込まれたファイルの基準点は左上になることに注意</li>
            <li>外部ファイルの読込みはMovieClipLoaderを使う</li>
            <li>MovieClipLoaderを使うと読込み中や読込み完了の処理をイベントハンドラで対応できる</li>
            <li>例：
<pre>var my_mc = _root.createEmptyMovieClip("loader", 10);
var mcLoader = new MovieClipLoader();
mcLoader.addListener(my_mc);
mcLoader.loadClip("myPhoto.jpg", my_mc);
// 読込み完了時に呼び出されるイベントハンドラ
my_mc.onLoadInit = function() {
  trace("読込み完了しました。");
}</pre></li>
          </ul>
          <h4>SWF読込み時の注意</h4>
          <ul>
            <li>左上が基準点となるので読込み用のムービークリップは左上を基準点に作成しておく</li>
            <li>読込まれたSWFはインスタンスとなるのでステージの概念はなくなる</li>
            <li>場合によっては背景や表示領域を別途設定する必要がある</li>
            <li>rootも変わるので絶対パス使用時は注意が必要</li>
            <li>読み込んだswfのrootを変えたくない場合は_lockrootを設定する
<pre>container_mc._lockroot = true
// _lockrootの設定はSWFを読込む前に行っておく</pre></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>MovieClipLoaderが正しく使えているか？（20点）</li>
            <li>イベントハンドラが正しく設定できているか？（20点）</li>
            <li>読み込み用のムービークリップが正しく作成できているか？（20点）</li>
            <li>SWF読込み時の注意が守れているか？（20点）</li>
            <li>効果的なムービーが作成できているか？（20点）</li>
          </ul>
          <p>ファイル名に<strong>全角文字や記号を使わない</strong>こと</p>
          <p>Flashファイル（*.fla）とASファイル（*.as）を提出する</p>
          <p>読込むSWFやJPEGがオリジナルの場合はそれらのファイルも提出する</p>
          <p>提出期限は授業日の週の<strong>水曜日の午後９時</strong></p>]]>
        
    </content>
</entry>

<entry>
    <title>第７回　キークラスとイベントリスナー（11月10日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/081110.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.115</id>

    <published>2008-11-09T15:00:00Z</published>
    <updated>2008-11-13T01:48:46Z</updated>

    <summary>本日の課題                        キーイベントを使ったム...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_A" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>キーイベントを使ったムービーを作成する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("081110.swf", 240, 240, "#000000");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>教材のダウンロード：<a href="swf/081110_k.zip">081110_k.zip</a></li>
            <li>サンプルソースのダウンロード：<a href="swf/081110_f.zip">081110_f.zip</a></li>
          </ul>
          <h4>キークラス</h4>
          <ul>
            <li>キークラスを使うとキーイベントやキー押下の情報などを取得できる</li>
            <li>キークラスはインスタンスを生成することなくメソッドやプロパティを使用できる</li>
            <li>例：左右のカーソルキーが押されていたらMCのX座標を移動する
<pre>function onEnterFrame() {
  if (Key.isDown(Key.RIGHT)) {
    this._x += 10;
  }
  if (Key.isDown(Key.LEFT)) {
    this._x -= 10;
  }
}</pre></li>
            <li>キーの区別はキーコードを使用する</li>
            <li>最後に押されたキーのキーコードはgetCode()で取得できる</li>
            <li>キーイベントはFlashにフォーカスが当たっていないと取得できないのでユーザに一度クリックさせる工夫が必要</li>
          </ul>
          <h4>イベントリスナー</h4>
          <ul>
            <li>キーが押されたタイミングでアクションを起こすにはキーイベントを受け取る必要がある</li>
            <li>クラスやムービークリップのインスタンスはキーが押下されたときのイベントを取得できない</li>
            <li>イベントリスナーにインスタンスを登録することでキーイベントが受け取れるようになる</li>
            <li>例：キークラスのイベントリスナーに登録するとカスタムクラス内にキーイベントハンドラを設定できる
<pre>Key.addListener(this);
function onKeyDown() {
  if (Key.isDown(Key.ENTER)) {
　　this.startBeam();
　}
}</pre></li>
            <li>イベントリスナーから削除する場合はremoveListenerを使う
<pre>Key.removeListener(this);</pre></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>クラス定義ファイルが正しく作成できているか？（20点）</li>
            <li>キークラスのメソッドやプロパティが正しく使えているか？（20点）</li>
            <li>イベントリスナーへの登録が正しくできているか？（20点）</li>
            <li>キーイベントハンドラが正しく設定できているか？（20点）</li>
            <li>効果的なムービーが作成できているか？（20点）</li>
          </ul>
          <p>ファイル名に<strong>全角文字や記号を使わない</strong>こと</p>
          <p>Flashファイル（*.fla）とASファイル（*.as）を提出する</p>
          <p>提出期限は授業日の週の<strong>水曜日の午後９時</strong></p>]]>
        
    </content>
</entry>

<entry>
    <title>第６回　クラスの継承（11月3日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/081103.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.113</id>

    <published>2008-11-02T15:00:00Z</published>
    <updated>2008-11-06T03:03:50Z</updated>

    <summary>本日の課題                        クラスの継承を使ったム...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_A" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>クラスの継承を使ったムービーを作成する</li>
            <li>カスタムクラスperspectiveを使い３Dムービーを作成する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("081103.swf", 240, 240, "#000000");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>教材のダウンロード：<a href="swf/081103_k.zip">081103_k.zip</a></li>
            <li>サンプルソースのダウンロード：<a href="swf/081103_f.zip">081103_f.zip</a></li>
          </ul>
          <h4>クラスの継承</h4>
          <ul>
            <li>クラスの機能を変更したり拡張したい場合に元のクラスを編集してしまうと汎用性が損なわれる場合がある</li>
            <li>クラスの継承を利用するとクラスの汎用性を損なわずにクラスの機能を変更したり拡張することができる</li>
            <li>複数のクラスで機能を共有させたい場合にもクラスの継承が使われる</li>
            <li>継承するクラスをサブクラス、継承されるクラスをスーパークラスと呼ぶ</li>
            <li>カスタムクラスだけではなくビルトインクラスも継承が可能</li>
          </ul>
          <h4>ビルトインクラスの継承</h4>
          <ul>
            <li>ビルトインクラスの機能を拡張した独自のサブクラスを作成することができる</li>
            <li>MovieClipクラスを拡張するとインスタンスを配置するだけでサブクラスが機能する（教材のsnow.flaを参照）</li>
            <li>MovieClipクラスを継承させたクラスの例：
<pre>class fall extends MovieClip {
  // onEnterFrameハンドラを上書き
  function onEnterFrame() {
    this._y += 10;
  }
}</pre></li>
            <li>MovieClipクラスを継承させたクラスをシンボルに適用するにはリンケージプロパティのAS2.0クラスの欄にクラス名を記述する</li>
          </ul>
          <h4>カスタムクラスの継承</h4>
          <ul>
            <li>スーパークラスは特別な設定は必要なくどんなクラスでもスーパークラスになることができる</li>
            <li>スーパークラスで定義されているプロパティやfunctionはサブクラス内で自由に使うことができる</li>
            <li>サブクラスでスーパークラスで定義されているfunctionと同じ名前のfunctionを設定した場合はサブクラスのfunctionが適用される</li>
            <li>カスタムクラスperspectiveを継承したサブクラスの例
<pre>class ufo extends perspective {
  var zSpeed:Number = -200;
  function fly():Void {
    mc_z += zSpeed;
    // mc_zはスーパークラスで定義されているプロパティ
    this.perspectiveView();
    // perspectiveViewはスーパークラスで定義されているfunction
  }
}</pre></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>クラス定義ファイルが正しく作成できているか？（20点）</li>
            <li>カスタムクラスの継承が正しくできているか？（20点）</li>
            <li>スーパークラスのプロパティやfunctionをサブクラスで正しく使えているか？（20点）</li>
            <li>リンケージシンボルの設定やムービークリップのアタッチが正しくできているか？（20点）</li>
            <li>効果的なムービーが作成できたか？（20点）</li>
          </ul>
          <p>ファイル名に<strong>全角文字や記号を使わない</strong>こと</p>
          <p>Flashファイル（*.fla）とASファイル（*.as）を提出する</p>
          <p>提出期限は授業日の週の<strong>水曜日の午後９時</strong></p>]]>
        
    </content>
</entry>

<entry>
    <title>第５回　ムービークリップインスタンスの動的生成（10月27日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/081027.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.111</id>

    <published>2008-10-26T15:00:00Z</published>
    <updated>2008-10-30T02:32:38Z</updated>

    <summary>本日の課題                        インスタンスの動的生成...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_A" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>インスタンスの動的生成を使ったムービーを作成する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("081027.swf", 240, 240, "#000000");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>サンプルソースのダウンロード：<a href="swf/081027_f.zip">081027_f.zip</a></li>
          </ul>
          <h4>ムービークリップインスタンスの動的生成</h4>
          <ul>
            <li>たくさんのインスタンスを配置する必要がある場合やインスタンスの数を動的に変化させたい場合などはインスタンスを動的に生成することで処理が簡単になる</li>
            <li>インスタンスの動的生成にはステージに配置済みのインスタンスを複製する方法とリンケージシンボルから生成する方法がある</li>
            <li>空のインスタンスを生成することも可能</li>
          </ul>
          <h4>インスタンスの動的複製</h4>
          <ul>
            <li>インスタンスの複製にはduplicateMovieClipメソッドを使う</li>
            <li>書式：インスタンス.duplicateMovieClip("新しいインスタンス名", インスタンスの深度, プロパティリスト)</li>
            <li>プロパティリストは省略可能</li>
            <li>例：
<pre>// my_mcをコピーしてcopy_mcという名前のインスタンスを生成する
// オプションでX座標Y座標を指定している
my_mc.duplicateMovieClip("copy_mc", 100, {_x:0, _y:0});</pre></li>
            <li>複製されたインスタンスの初期座標は元のインスタンスと同じになる</li>
          </ul>
          <h4>リンケージシンボルからのアタッチ</h4>
          <ul>
            <li>タイムラインに配置されていないムービークリップから動的にインスタンスを生成するにはムービークリップをリンケージシンボルとして書き出す必要がある</li>
            <li>リンケージシンボルにはシンボル名とは別に識別子を付ける必要がある</li>
            <li>リンケージシンボルからインスタンスを生成することをアタッチという</li>
            <li>インスタンスのアタッチにはattachMovieメソッドを使う</li>
            <li>書式：attachMovie("識別子", "新しいインスタンス名", インスタンスの深度, プロパティリスト);</li>
            <li>例：
<pre>// mySymbolという識別子のムービークリップから
// my_mcという名前のインスタンスを生成する
// 深度はgetNextHighestDepth()を使って最前面に配置
var newDepth:Number = this.getNextHighestDepth();
_root.attachMovie("mySymbol", "my_mc", newDepth);</pre></li>
            <li>複製されたインスタンスの初期座標は原点になる</li>
          </ul>
          <h4>インスタンスの削除</h4>
          <ul>
            <li>動的に生成されたインスタンスは不要になったときには削除する必要がある</li>
            <li>例：
<pre>// 動的に生成されたmy_mcというインスタンスを削除する
my_mc.removeMovieClip();</pre></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>クラス定義ファイルが正しく作成できているか？（20点）</li>
            <li>リンケージシンボルの設定が正しくできているか？（20点）</li>
            <li>ムービークリップのアタッチが正しくできているか？（20点）</li>
            <li>インスタンス名や深度の管理が正しくできているか？（20点）</li>
            <li>効果的なムービーが作成できたか？（20点）</li>
          </ul>
          <p>ファイル名に<strong>全角文字や記号を使わない</strong>こと</p>
          <p>Flashファイル（*.fla）とASファイル（*.as）を提出する</p>
          <p>提出期限は授業日の週の<strong>水曜日の午後９時</strong></p>]]>
        
    </content>
</entry>

<entry>
    <title>第４回　ドラッグと衝突判定（10月20日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/081020.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.109</id>

    <published>2008-10-19T15:00:00Z</published>
    <updated>2008-10-22T14:54:41Z</updated>

    <summary>本日の課題                        インスタンスのドラッグ...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_A" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>インスタンスのドラッグと衝突判定を使ったムービーを作成する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("081020.swf", 240, 240, "#666666");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>サンプルソースのダウンロード：<a href="swf/081020_f.zip">081020_f.zip</a></li>
          </ul>
          <h4>インスタンスのドラッグ</h4>
          <ul>
            <li>インスタンスのドラッグはstartDragメソッドを使う</li>
            <li>ドラッグの終了はstopDragメソッドを使う</li>
            <li>例：
<pre>my_mc.onPress = function() {
  this.startDrag();
}
my_mc.onRelease = function() {
  this.stopDrag();
}
my_mc.onReleaseOutside = function() {
  this.stopDrag();
}</pre></li>
            <li>オプションでドラッグできる領域を指定できる</li>
            <li>例：
<pre>my_mc.onPress = function() {
  this.startDrag(false, 0, 0, 100, 200);
}</pre></li>
            <li>同時に2つ以上のインスタンスをドラッグすることはできない</li>
          </ul>
          <h4>衝突判定</h4>
          <ul>
            <li>インスタンスの衝突判定はhitTestを使うことで簡単に判定できる</li>
            <li>例１：インスタンス同士が接触しているか判定する
<pre>if (target_mc.hitTest(my_mc)) {
  trace("hit!");
}</pre></li>
            <li>例１ではhitTestの有効領域がインスタンスを囲む矩形であることに注意</li>
            <li>例２：あるインスタンスの中心点が他のインスタンスの中に入っているか判定する
<pre>if (target_mc.hitTest(my_mc._x, my_mc._y, true)) {
  trace("hit!");
}</pre></li>
            <li>例２では3番目の引数をtrueにすることでインスタンスのシェイプを有効領域とすることが可能</li>
            <li>引数に使える座標はグローバル座標である点に注意</li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>クラス定義ファイルが正しく作成できているか？（20点）</li>
            <li>クラス内でのイベントハンドラが正しく定義できているか？（20点）</li>
            <li>インスタンスのドラッグが正しく設定できているか？（20点）</li>
            <li>インスタンスの衝突判定が正しくできているか？（20点）</li>
            <li>効果的なムービーが作成できたか？（20点）</li>
          </ul>
          <p>ファイル名に<strong>全角文字や記号を使わない</strong>こと</p>
          <p>Flashファイル（*.fla）とASファイル（*.as）を提出する</p>
          <p>提出期限は授業日の週の<strong>水曜日の午後９時</strong></p>]]>
        
    </content>
</entry>

<entry>
    <title>第３回　連続スクロール（10月13日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/081013.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.107</id>

    <published>2008-10-12T15:00:00Z</published>
    <updated>2008-10-18T10:23:15Z</updated>

    <summary>本日の課題                        連続スクロールを使った...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_A" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>連続スクロールを使ったムービーを作成する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("081013.swf", 240, 240, "#000000");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>サンプルソースのダウンロード：<a href="swf/081013_f.zip">081013_f.zip</a></li>
          </ul>
          <h4>インスタンスと配列</h4>
          <ul>
            <li>クラスから同時に複数のインスタンスを生成する場合はインスタンスの参照を配列に格納する</li>
            <li>例：
<pre>var objList:Array = new Array();
for (i=1;i<=10;i++) {
  objList.push(new myClass());
}
</pre></li>
            <li>配列に格納したインスタンスへの参照は配列の位置で指定する</li>
            <li>例：
<pre>objList[0].myMethod();
</pre></li>
          </ul>
          <h4>クラス内でのイベントハンドラの定義</h4>
          <ul>
            <li>クラス内でもムービークリップのイベントハンドラを定義できる</li>
            <li>イベントハンドラ内でのthisはムービークリップを指すことに注意</li>
            <li>例：
<pre>my_mc.onEnterFrame = function() {
  this._x += 12;
  // このthisはmy_mcを指す
}</pre></li>
          </ul>
          <h4>クラスプロパティ</h4>
          <ul>
            <li>インスタンス毎に変更しないクラス共通のプロパティを設定できる</li>
            <li>クラスプロパティを設定するにはstaticキーワードを使う</li>
            <li>例：
<pre>static var myInterval:Number;
</pre></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>クラス定義ファイルが正しく作成できているか？（20点）</li>
            <li>クラスインスタンス参照の格納に配列が使えているか？（20点）</li>
            <li>クラス内でのイベントハンドラが正しく定義できているか？（20点）</li>
            <li>クラスプロパティが正しく使えているか？（20点）</li>
            <li>効果的なムービーが作成できたか？（20点）</li>
          </ul>
          <p>ファイル名に<strong>全角文字や記号を使わない</strong>こと</p>
          <p>Flashファイル（*.fla）とASファイル（*.as）を提出する</p>
          <p>提出期限は授業日の週の<strong>水曜日の午後９時</strong></p>]]>
        
    </content>
</entry>

<entry>
    <title>第２回　配列の利用（10月6日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/081006.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.106</id>

    <published>2008-10-05T15:00:00Z</published>
    <updated>2008-10-09T01:03:13Z</updated>

    <summary>本日の課題                        数値配列を利用したFl...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_A" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>数値配列を利用したFlashアプリケーションを作成する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("081006.swf", 240, 240, "#000000");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>サンプルソースのダウンロード：<a href="swf/081006_f.zip">080929_f.zip</a></li>
          </ul>
          <h4>配列</h4>
          <ul>
            <li>配列を利用する事でひとつの変数に複数の値を格納することができる</li>
            <li>配列に格納した値を取り出したり設定するには配列の位置で指定する</li>
            <li>配列を扱うにはArrayクラスを使う</li>
            <li>例：新規配列の作成
<pre>var MyArray:Array = new Array(); // 空の配列を作成
var MyArray:Array = new Array(&quot;a&quot;, &quot;b&quot;);
</pre></li>
          </ul>
          <h4>配列の操作</h4>
          <ul>
            <li>例：配列のn番目の値を取得する
<pre>var MyArray:Array = new Array(&quot;a&quot;, &quot;b&quot;, &quot;c&quot;);
var MyItem:String = MyArray[0];
// MyItemには&quot;a&quot;が入る
</pre></li>
            <li>例：配列の後に値を追加する
<pre>var MyArray:Array = new Array(&quot;a&quot;, &quot;b&quot;);
MyArray.push(&quot;c&quot;);
// MyArrayは[&quot;a&quot;, &quot;b&quot;, &quot;c&quot;]となる
</pre></li>
            <li>例：配列のn番目の値を削除する
<pre>var MyArray:Array = new Array(&quot;a&quot;, &quot;b&quot;, &quot;c&quot;);
var deleteItem:Array = MyArray.splice(1, 1);
// MyArrayは[&quot;a&quot;, &quot;c&quot;]となりdeleteItemには[&quot;b&quot;]が入る
</pre></li>
            <li>例：配列内の値の個数を取得する
<pre>var MyArray = new Array(&quot;a&quot;, &quot;b&quot;, &quot;c&quot;);
var MyCnt:Number = MyArray.length;
// MyCntには3が入る
</pre></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>クラス定義ファイルが正しく作成できているか？（20点）</li>
            <li>クラスでのプロパティの宣言が正しくできているか？（20点）</li>
            <li>クラスからオブジェクトが正しく作成できているか？（20点）</li>
            <li>配列の作成が正しくできているか？（20点）</li>
            <li>配列の操作が正しくできているか？（20点）</li>
          </ul>
          <p>ファイル名に<strong>全角文字や記号を使わない</strong>こと</p>
          <p>Flashファイル（*.fla）とASファイル（*.as）を提出する</p>
          <p>提出期限は授業日の週の<strong>水曜日の午後９時</strong></p>]]>
        
    </content>
</entry>

<entry>
    <title>第１回　クラスの定義（9月29日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/080929.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.102</id>

    <published>2008-09-28T15:00:00Z</published>
    <updated>2008-09-16T05:44:56Z</updated>

    <summary>サンプルムービー                        サンプル：sho...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_A" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>サンプルムービー</h4>
          <ul>
            <li>サンプル：<script type="text/javascript">showswfsample("080929.swf", 240, 240, "#000000");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>サンプルソースのダウンロード：<a href="swf/080929_f.zip">080929_f.zip</a></li>
          </ul>
          <h4>ActonScriptのバージョン</h4>
          <ul>
            <li>FlashにバージョンがあるようにActionScriptにもバージョンがある</li>
            <li>マルチメディア技術の授業ではActionScript1.0レベルでの記述方法を用いた</li>
            <li>ゲームデザインの授業ではActionScript2.0での記述を学ぶ</li>
            <li>ActionScript2.0での最大のポイントは「クラスの定義」である</li>
          </ul>
          <h4>クラスとは</h4>
          <ul>
            <li>ある命令を実行するために複数の作業が必要な場合にそれらの作業をひとつにまとめておくと扱いが簡単になる</li>
            <li>何度も使う連続した作業をひとつにまとめたものがクラス</li>
            <li>FlashにはMathなどのあらかじめ定義されているクラスがありそれらをビルトインクラスと呼ぶ</li>
            <li>ビルトインに対してユーザが定義するクラスをカスタムクラスと呼ぶ</li>
          </ul>
          <h4>ActionScript2.0でのクラス定義</h4>
          <ul>
            <li>ActionScript2.0ではクラスは外部ActionScriptファイル（ASファイル）に記述する</li>
            <li>クラスのファイル名は定義するクラス名と同じである必要がある</li>
            <li>クラスを構成する要素にはプロパティ、コンストラクタ、メソッド、関数がある</li>
            <li>これらの要素は必要に応じて省略が可能</li>
            <li>クラスの構造の例：
<pre>class myClass
{

  // プロパティ
  var プロパティ名:変数型

  // コンストラクタ
  function myClass() {
    命令;
  }

  // メソッド
  function メソッド名() {
    命令;
  }

  // 関数
  function 関数名() {
    命令;
    return 戻り値;
  }

}
</pre></li>
          </ul>
          <h4>インスタンスの生成</h4>
          <ul>
            <li>クラスを定義しただけではクラス内のメソッドなどを利用する事はできない</li>
            <li>クラスを利用するにはクラスからインスタンスを生成する必要がある</li>
            <li>インスタンスを生成するActionScriptはフレームアクションなどに記述する</li>
            <li>インスタンスの生成例：
<pre>var myObj:myClass = new myClass();
</pre></li>
          </ul>]]>
        
    </content>
</entry>

<entry>
    <title>第１２回　MP３プレイヤーの作成[サウンドの使用２]（7月7日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/080707.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.94</id>

    <published>2008-07-06T15:00:00Z</published>
    <updated>2008-07-13T08:19:17Z</updated>

    <summary>本日の課題                        MP3ファイルをFla...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_S" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>MP3ファイルをFlashから再生させる</li>
            <li>外部サウンドファイルの制御方法を理解する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("080707.swf", 240, 240, "#000000");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>教材のダウンロード：<a href="swf/080707.zip">080707.zip</a></li>
            <li>サンプルソースのダウンロード：<a href="swf/080707.fla">080707.fla</a></li>
          </ul>
          <h4>外部サウンドファイルの再生</h4>
          <ul>
            <li>1MBを越えるようなサウンドファイルはflaファイルに読み込まずにActionScriptでストリーミング再生させる</li>
            <li>外部サウンドファイルを再生するにはloadSoundコマンドを使う</li>
            <li>例：
<pre>// サウンドオブジェクトを生成
this.mySound = new Sound();
// 外部サウンドファイルをストリーミング再生
this.mySound.loadSound("mymusic.mp3", true);
// サウンドを停止
this.mySound.stop();
// サウンドのボリュームを設定
this.mySound.setVolume(100);</pre></li>
          </ul>
          <h4>インスタンスのドラッグ</h4>
          <ul>
            <li>ムービークリップのインスタンスはコマンドを送るだけでドラッグできるようになる</li>
            <li>例：
<pre>this.startDrag();</pre></li>
            <li>オプションでドラッグできる範囲を指定することができる</li>
            <li>例：
<pre>this.startDrag(false, 0, 0, 100, 0);</pre></li>
            <li>ドラッグを解除するにはstopDragを使う</li>
            <li>通常はマウスダウンでドラッグ開始することが多いのでムービークリップの中にボタンを置いてアクションを記述する</li>
            <li>例：
<pre>on (press) {
  this.startDrag();
}
on (release, releaseOutside) {
  this.stopDrag();
}</pre></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>サウンドオブジェクトの生成が正しくできているか？（20点）</li>
            <li>外部サウンドファイルの指定が正しくできているか？（20点）</li>
            <li>サウンドの制御が正しくできているか？（20点）</li>
            <li>インスタンスのドラッグが正しく設定できているか？（20点）</li>
            <li>サウンドのボリュームコントロールが正しく設定できているか？（20点）</li>
          </ul>
          <p>ファイル名に<strong>全角文字や記号を使わない</strong>こと</p>
          <p>提出期限は授業日の週の<strong>水曜日の午後９時</strong></p>]]>
        
    </content>
</entry>

<entry>
    <title>第１１回　インベーダーゲームを作る２[サウンドの使用１]（6月30日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/080630.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.92</id>

    <published>2008-06-29T15:00:00Z</published>
    <updated>2008-07-06T20:15:24Z</updated>

    <summary>本日の課題                        Flashのゲームにサ...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_S" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>Flashのゲームにサウンドを組み込む</li>
            <li>タイムラインを使ったサウンドの制御とActionScriptを使ったサウンドの制御の違いを理解する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("080630.swf", 240, 240, "#000000");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>教材のダウンロード：<a href="swf/080630.zip">080630.zip</a></li>
            <li>サンプルソースのダウンロード：<a href="swf/080630.fla">080630.fla</a></li>
          </ul>
          <h4>サウンドファイルの読み込み</h4>
          <ul>
            <li>読み込めるサウンドファイルはMP3, AIFF形式（WindowsではWAV形式）</li>
            <li>MP3を読み込んだ場合はMP3の圧縮設定がそのまま適用される</li>
            <li>サウンドはステージに直接配置はできないのでライブラリに読み込んで使う</li>
            <li>1MBを越えるようなサウンドファイルはflaファイルに読み込まずにActionScriptでストリーミング再生させる</li>
          </ul>
          <h4>タイムラインでのサウンドの制御</h4>
          <ul>
            <li>読み込んだサウンドはキーフレームのプロパティで設定する</li>
            <li>サウンドはどのレイヤーにも設定可能だが、BGMなどはサウンド用のレイヤーを用意した方がよい</li>
            <li>設定できるのは「音の鳴るタイミング」
              <ul>
                <li>BGMなど重複して再生されては困る場合は同期を「スタート」</li>
                <li>SEなどは「イベント」に設定する</li>
                <li>「ストリーミング」はサウンドとアニメーションのタイミングを合わせたい場合に使う</li>
              </ul>
            </li>
            <li>サウンドを止めるには同期を「ストップ」に設定する</li>
          </ul>
          <h4>ActionScriptでのサウンドの制御</h4>
          <ul>
            <li>インスタンスの制御をActionScriptで行っているとタイムラインではサウンドを指定できない場合がある</li>
            <li>ActionScriptでサウンドを制御するにはライブラリに読み込んだサウンドにリンケージ設定を行う</li>
            <li>サウンドオブジェクトを生成してサウンドをアタッチしておく</li>
            <li>例：
<pre>// サウンドオブジェクトを生成
this.crashSnd = new Sound();
// サウンドをアタッチ（識別子を指定）
this.crashSnd.attachSound("crash");</pre></li>
            <li>サウンドオブジェクトはインスタンスで共有できるようにルートのタイムラインに設定する</li>
            <li>インスタンスからサウンドオブジェクトを呼び出すことでActionScriptでサウンドを制御できる</li>
            <li>例：
<pre>// サウンドを再生
this._parent.crashSnd.start();</pre></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>サウンドファイルの読み込みが正しくできているか？（20点）</li>
            <li>タイムラインでのサウンド設定が正しくできているか？（20点）</li>
            <li>リンケージ設定とサウンドオブジェクトの生成が正しくできているか？（20点）</li>
            <li>ActionScriptでのサウンド制御が正しくできているか？（20点）</li>
            <li>サウンドが効果的に使えているか？（20点）</li>
          </ul>
          <p>ファイル名に<strong>全角文字や記号を使わない</strong>こと</p>
          <p>提出期限は授業日の週の<strong>水曜日の午後９時</strong></p>]]>
        
    </content>
</entry>

<entry>
    <title>第１０回　インベーダーゲームを作る１[インターバルとフラグ]（6月23日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/080623.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.90</id>

    <published>2008-06-22T15:00:00Z</published>
    <updated>2008-06-29T20:30:14Z</updated>

    <summary>本日の課題                        インターバルやフラグな...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_S" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>インターバルやフラグなどゲームを制御する上で不可欠な機能や考え方を理解する</li>
            <li>ダイナミックテキストを使ったデータの表示方法を理解する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("080623.swf", 240, 240, "#000000");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>教材のダウンロード：<a href="swf/invader_1.fla">invader_1.fla</a></li>
            <li>サンプルソースのダウンロード：<a href="swf/080623.fla">080623.fla</a></li>
          </ul>
          <h4>インターバル</h4>
          <ul>
            <li>フレーム毎とは別に一定間隔で命令を実行させたい場合に用いる</li>
            <li>フレームレートに左右されない動きを設定できる</li>
            <li>例：インターバルの作成
<pre>this.mytimer = setInterval(this, "moveinvader", 1000);
// 実行させる関数名を" "で括る点に注意</pre></li>
            <li>例：インターバルの消去
<pre>clearInterval(this.mytimer); </pre></li>
          </ul>
          <h4>フラグ</h4>
          <ul>
            <li>一定条件の場合にのみ動作を実行させたい場合に用いる</li>
            <li>インスタンスのプロパティや変数として定義される</li>
            <li>例：
<pre>// フラグの初期化
this.start_mode = false;
// フラグがtrueのときだけ処理を実行する
if (this.start_mode == true) {
  this._y -= 12;
}</pre></li>
          </ul>
          <h4>ダイナミックテキスト</h4>
          <ul>
            <li>ActionScriptで内容を変更できるテキスト</li>
            <li>変数名を設定することで簡単に内容を変更できる</li>
            <li>例：
<pre>this.gamepoint += 100;</pre></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>インスタンスやタイムラインの指定が正しくできているか？（20点）</li>
            <li>フラグを活用できているか？（20点）</li>
            <li>インターバルの設定・消去が正しくできているか？（20点）</li>
            <li>ダイナミックテキストを使った得点表示ができているか？（20点）</li>
            <li>ゲームとして的確に動作しているか？（20点）</li>
          </ul>
          <p>ファイル名に<strong>全角文字や記号を使わない</strong>こと</p>
          <p>提出期限は授業日の週の<strong>水曜日の午後９時</strong></p>]]>
        
    </content>
</entry>

<entry>
    <title>第９回　りんごひろいゲームを作る２[インスタンスの指定と衝突判定]（6月16日）</title>
    <link rel="alternate" type="text/html" href="http://www.river-field.com/dwc/080616.php" />
    <id>tag:www.river-field.com,2008:/dwc//6.88</id>

    <published>2008-06-15T15:00:00Z</published>
    <updated>2008-06-22T20:12:18Z</updated>

    <summary>本日の課題                        インスタンスの衝突判定...</summary>
    <author>
        <name>kawahara</name>
        
    </author>
    
        <category term="08_S" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.river-field.com/dwc/">
        <![CDATA[<h4>本日の課題</h4>
          <ul>
            <li>インスタンスの衝突判定を使ってゲームを作成する</li>
            <li>インスタンスのパス指定方法を理解する</li>
            <li>サンプル：<script type="text/javascript">showswfsample("080616.swf", 240, 240, "#000000");</script><noscript><span class="red">javascriptを有効にしてください。</span></noscript></li>
            <li>サンプルソースのダウンロード：<a href="swf/080616.fla">080616.fla</a></li>
          </ul>
          <h4>インスタンスの指定</h4>
          <ul>
            <li>他のインスタンスに命令を送る場合にはインスタンスに名前を付けてその名前で指定する</li>
            <li>インスタンス名は半角英数で記述し記号やスペースを使用しない</li>
            <li>同じタイムライン上に同じインスタンス名を使用しない</li>
            <li>違うタイムラインにあるインスタンスはインスタンスのパスで指定する</li>
            <li>例１：myMCという名前のインスタンスの中のmyAnimという名前のインスタンスに命令を送る
<pre>this.myMC.myAnim.play();</pre></li>
            <li>例２：ふたつ上の階層のタイムライン上のmyMCという名前のインスタンスに命令を送る
<pre>this._parent._parent.myMC.play();</pre></li>
            <li>インスタンスのパス<br /><img src="img/080616/targetpath.gif" width="380" height="292" alt="インスタンスのパス" /></li>
          </ul>
          <h4>インスタンスの衝突判定</h4>
          <ul>
            <li>インスタンス同士が衝突（接触）しているかを調べるにはhitTestを使う</li>
            <li>例：同じタイムラインにあるmy_mcというインスタンスと接触していたらcnt_mcに命令を送る
<pre>if (this.hitTest(this._parent.my_mc)) {
  this._parent.cnt_mc.play();
}</pre></li>
          </ul>
          <h4>課題評価ポイント</h4>
          <ul>
            <li>インスタンス名が正しく付けられているか？（20点）</li>
            <li>インスタンスやタイムラインのパス指定が正しくできているか？（20点）</li>
            <li>インスタンスの衝突判定が正しくできているか？（20点）</li>
            <li>共通の処理を関数にまとめられているか？（20点）</li>
            <li>ゲームとして的確に動作しているか？（20点）</li>
          </ul>
          <p>ファイル名に<strong>全角文字や記号を使わない</strong>こと</p>
          <p>提出期限は授業日の週の<strong>水曜日の午後９時</strong></p>]]>
        
    </content>
</entry>

</feed>
