<<おまけ>> 自分のキャラでアニメーション

マーリン達以外のキャラクターを使いたい人が出てきても不思議ではありません。そこで、最後に自分のキャラクターを作り、マーリンらと違った能力を発揮させてみます。

 

1.自分のキャラクターの作り方(マーリンらの様な洗練された動きはない)

以下のサイトに丁寧に説明されています

http://yumi-ii.squares.net/shiraneyo/archives/2004/10/20041030195236.html

が、サイトは消えるおそれがあるので、簡単にまとめておくます。

 

Step1:Microsoft Agent Character Editorace.exe)を以下からダウンロード

http://www.microsoft.com/msagent/downloads/developer.asp

(このサイトのContentsの中のAgent Character Editorをクリックし、

 Download the Microsoft Agent Character Editor (1 MB exe)

をクリックするとace.exeが降りてくる。

 

Step2: これ(ace.exe)をWクリックし、後は、指示に従ってインストール完了。

 

Step3:自分のキャラクター(この説明ではen.GIFとする)を一旦ハードディスクCの下のMyaというフォルダー(C:\Mya)に作る。

(1)   キャラクターの画像となる小さな(100×100程度)GIFファイルをMyaの中に準備

(2)   スタートメニューからMicrosoft Agent Character Editorを起動

(3)   メニューから”File”à”New”à”Office Assistant Character”を選ぶ

(4)   “Character”à”Animation”の順に+マークをクリックし、アニメーションの一覧を表示

(5)   アニメーション一覧の下のほうの”Show”を探し“右クリック”し、”New Frame from Images”をクリックする。

(6)   画像ファイル選択ダイアログボックスが表示されるので、Myaフォルダーを探してフォルダーを開き、ダイアログボックス下部のファイルの種類”GIF”にすると、en.GIFが見える。これを選択して開く。

(7)   自動的にCharacter Editorの画面に戻る。

(キャラクターの周辺を透明にする時は次(8)~(10)の処理)

(8)   画面左のボックスにある”Character”という文字をクリックし、次に”Animations”という文字をクリックすると、右ボックスにPropertiesというパネルが現れる。

(9)   この中の、”Change Setting”というボタンをクリックすると“色の表”が現れる。

(10)               ここで、上の方の“白”選択するとキャラクターの周辺が透明になる。

<<Acdファイルの作成>>

(11)”File”メニューから”Save”を選ぶと、Character1.acdという名のファイルをMyaに保存する、と言ってくる。Character1はすきな名前に変えてよいが、acdは変えてはだめ。

これでacdファイルを保存。(以下、キャラクター名はCharacter1とする)

<<acsファイル(キャラクターファイル)の作成>>

(12)”File”メニューより              “Build Character”を選びMyaCharacter1.acsを保存

<<acsファイルをMerlin.acsが入っているフォルダーに移動>>

(13)私のWindowsXP環境ではC:\WINDOWS\MSAGENT\CHARSCharacret1.acsをコピー

以上で自分のキャラクター作成完了。後は、MerlinCharacter1にすればShow命令で表示される。但し、Show以外のアニメーション画像は作っていないのでMoveHideはできるが、その他はできない。

 

2.マイキャラクターを動かす

(注)次のプログラムを動かすには“解答”から、Character1.acsファイルをダウンロードし、Merlin.acsの入っているフォルダーに入れて下さい。

 

次のプログラムはキャラクターが次の4つの動きを行います。

形はShowに組み込んだ○

(1)   水平往復運動

(2)   四方の壁で跳ね返る(ビリヤード風)

ここでWritingに組み込んだ■に変形

(3)   円運動

(4)   酔歩(ランダムウオーク)

プログラム

Set Win= CreateObject("InternetExplorer.Application")

Win.Visible=True

Set Agent1= WScript.CreateObject("Agent.Control.1", "Character1_")

Agent1.Connected= True

Agent1.Characters.Load "Character1","Character1.acs"

Set Character1= Agent1.Characters("Character1")

Character1.MoveTo 100,100

Character1.Show

'往復運動

hoko=1

x=300

For i=1 To 1000

  Character1.MoveTo x, 100

  x= x+ hoko

  If x> 200 Then

     hoko= -1

  End If

  If x<0  Then

     hoko= 1

  End If

Next

MsgBox "次はビリヤード"

'四方の壁で跳ね返ります

xhoko=1

yhoko=1

x=50

y=100

For i=1 To 700

  Character1.MoveTo x, y

  x= x + xhoko

  y= y + yhoko

  If x> 200 Then

     xhoko= -1

  End If

  If x<0  Then

     xhoko= 1

  End If

  If y> 200 Then

     yhoko= -1

  End If

  If y<0  Then

     yhoko= 1

  End If

Next

MsgBox "次は形を変えて円運動"

Character1.Play "Writing"

For i=1 To 720

  Character1.MoveTo 100+100*Sin(i*3.14/180), 100+100*Cos(i*3.14/180)

Next

MsgBox "次は酔歩"

Randomize

Saisyo=1

Saidai=4

For i=1 To 30

  ran= Int((Saidai - Saisyo + 1) * Rnd + Saisyo)

  If ran=1 Then

     x=x+30

  End If

  If ran=2 Then

     x=x-30

  End If

  If ran=3 Then

     y=y+30

  End If

  If ran=4 Then

     y=y-30

  End If

  Character1.MoveTo x,y

Next

MsgBox "終わり"

===

注1)   はじめの2行は、動きを見やすくするため背景にブラウザを立ち上げています。

注2)   水平運動では進行方向をhokoに入れて、左右の壁で反転させています。

注3)   形の変形は、前節の(5)Showに円を組み込み、続いてWritingに四角を組み込みました。そのため、Character1.Showで丸が現れ、Character1.Writingで四角が現れます。

注4)   円運動はSin とCos という関数を使っています。関数に関しては 第10回の参考サイトをご覧下さい。Sinの()の中が少し複雑なのは、度をラジアンという単位に変える変換です(Sin Cosを習っていない人は気にしないで忘れて下さい)。

 

このように、自分のキャラクターを作ることにより、色々なアニメーションやゲームを作ることができるようになります。