Chararina開発スタッフblog

デスクトップ・マスコット(エージェント)ソフト「Chararina(キャラリナ)」の開発スタッフによる開発日記&連載記事。頂いたお便りなどもご紹介します。 Chararinaのサイトへ

第二回キャラクター作成講座

キャラクター作成講座の第二回です.
前回はキャラクターを表示して最初の挨拶(Hello, World!!)を表示しました.
第二回は,キャラクターにマウスで左クリックしたときの反応をつけたいと思います.
第一回はこちらです.

1.ダウンロード
今回も必要なファイルを用意しましたのでここからダウンロードしてください.
キャラクターを実行する手順は前回とほとんど同じです.


2.kouza2を実行する
ダウンロードしたファイルkouza2を実行してください.
kouza2フォルダが作成されます.

3.キャラクターを実行する
kouza2フォルダの中に下のようなkouza2アイコンが表示されるので,それを実行します.
作成講座2kouza2.batアイコン



上手くできたら,キャララクターの画像を左クリックしてみてください.
下の画像の様に,吹き出しにメッセージが表示されます.
作成講座2タイヤネコ1



4.キャラクターの動きを見る
キャラクターの動きは前回と同様に,mhello.ayaファイルに書いてあります.
hello.ayaファイルをメモ帳などのテキストエディタで開きます.
今回で新しく加わった部分は以下の部分です.

--
action MouseUpL@( false )
{
 Talk( "うにゃ?\n" );
}
--
マウスの左クリックにたいする反応をMouseUpLの{}の間に書くことが出来ます.
今回はメッセージとして"うにゃ?\n"を表示しています.
'\n'は改行を表わします.



5.キャラクターをカスタマイズする(メッセージに変化をつける)
今回のサンプルデータでは,何度クリックしてもおなじメッセージしか表示しません.
これではすぐに飽きてしまいますのでメッセージに変化をつけてみましょう.

まず,キャラクターを終了させてください.
次にhello.ayaを下のように変更します.

--
action MouseUpL@( false )
{
 Talk( "うにゃ?\n" );
}
--
↑の部分を↓に変更します.
--
int Random( int x );

action MouseUpL@( false )
{
 switch( Random( 3 ) )
 {
  case 0:
   Talk( "うにゃ?\n" );
   break;
  case 1:
   Talk( "にゃーどうかしたか?\n" );
   break;
  case 2:
   Talk( "・・・・・・何?\n" );
   break;
 }
}
--

変更できたら実行して見ましょう.kouza2アイコン(下)を実行します.作成講座2kouza2.batアイコン



今度は何度かクリックすると下の様にメッセージが変化します.
(メッセージ表示される順番には環境によって変化があります.)
作成講座2タイヤネコ2



6.キャラクターをカスタマイズする(メッセージを増やす)
メッセージが三つでは物足りないという人は,メッセージをもっと増やしてみましょう.
メッセージを増やすには,下の場所を変更してください.

メッセージの数を3個から4個に増やすなら,ランダム関数の引数を4に変更します.
--
 switch( Random( 4 ) )
--

増やしたメッセージの数だけcaseを増やします.
下は4つ目のメッセージを増やす場合です.
4つ目ですが,caseの数字が3になっていることに注意してください.
--
  case 3:
   Talk( "4つ目のメッセージ\n" );
   break;
--

メッセージを増やして4つにした場合のMouseUpLは,下の様になります.
--
action MouseUpL@( false )
{
 switch( Random( 4 ) )
 {
  case 0:
   Talk( "うにゃ?\n" );
   break;
  case 1:
   Talk( "にゃーどうかしたか?\n" );
   break;
  case 2:
   Talk( "・・・・・・何?\n" );
   break;
  case 3:
   Talk( "4つ目のメッセージ\n" );
   break;
 }
}
--



7.新しい命令,関数の説明
初めて出てきた命令や関数を順番に説明していきましょう.まずは
--
int Random( int x );
--
これはランダム関数の1つで,サイコロのような働きをします.
0〜x-1までの整数のどれか1つを返します.
今回はランダム関数を下の様に使っています.この場合0,1,2のどれかを返します.
--
 Random( 3 )
--


次はswitchです.
--
 switch( Random( 3 ) )
--
switchは,()内の関数や変数の値に応じて行う処理を分岐する命令です.
この場合はランダム関数が0を返したらこの処理を,1を返したらあの処理を,という様にキャラクターの動きに変化をつけられます.

どのような処理を行うかは下の様に定義します.
--
  case 0:
   Talk( "うにゃ?\n" );
   break;
--
"case 0"は,Random(3)が0を返した場合の処理を"case 0"の下に書くことを意味しています.
上の例ではTalk関数で吹き出しにメッセージ"うにゃ?\n"を表示します.
その下のbreak;は,ここで処理を終了することを意味しています.
break;をここに挿入して,その下のcase 1やcase 2の処理を実行させないようにします.

break;を挿入しないとどうなるか,一度実験してswitchの動きを理解するのも良いと思います.


8.まとめ
今回は,左クリックにたいする反応と,その反応に変化をつけてみました.
ランダム関数を用いて変化をつける方法は他の色々な場面で利用できます.

StartUpにもこの仕組みを組み込んで,挨拶に変化を持たせることも出来ます.
一度試してみてはどうでしょうか?


シャトル打ち上げ成功

13日の予定からかなり遅れましたが,昨晩遅く,スペースシャトルの打ち上げが無事に成功しました.といいつつも規模は不明ながら耐熱タイルの破片が脱落したという情報もあり,いきなりこの2年間で研究した調査・修復技術が大活躍という事態になるかもしれない気配です.
帰還は8月7日夕方です.

今日は「第39回Chararinaユーザに聞きました」で夏休みの予定についてのアンケートを開始しました.社会人にとってはせいぜい「盆休み」があるくらいで「夏休み」なんてありゃしませんんが,すでに夏休みに突入していて昼間から遊んでいる子供を見かけると,ほんのりとその頃の雰囲気が感じられます.
(Nassie)

ここへの検索キーワードがおかしい件について

ここのblogが始まってから25日ほど経過し,ぼちぼち検索エンジンにもヒットするようになりました(が,livedoor blogは新システムへの移行作業で絶賛大不調中なので,livedoor blog内の検索ではさっぱりヒットしないという…).

blogの投稿などを行う管理ページにはアクセス解析の機能がありますが,その中の「検索キーワード」解析を見ると,なぜか「チャイナドレス」「チャイナ服」「巫女装束」「巫女服」「コスプレ」が多かったりします.確かにうちの四姉妹の着せかえ服装はそろそろ30着に達しようかという量ですが,それにしても関係なさすぎだろ,というところが泣かせます.

せっかくだから服装一覧を張っておきます.
春菜のコスチューム一覧
絢夏のコスチューム一覧
観秋のコスチューム一覧
冬音のコスチューム一覧

8月が近づいてきましたね.今日は毎年夏恒例のあの服の作業を行っていました.近日中に,というか8/1にお見せできると思います.
(Nassie)

地震でした

東京ではなかなか大きな地震がありました.会社は亀戸(立体駐車場から車が落ちたことでニュースになった)にありますが,特に何かが壊れたという被害はありません.せいぜい,私事ですが,一日中外出していて疲れきって帰ってきたらエレベーターが停止していて上の階まで歩いて上る羽目になったとか,風呂に入ってシャワーを浴びようとしてからガス湯沸かし器が止まっているのに気付いてまた服を着て外までリセットしに行く羽目になったとか,その程度でした.

東京で大規模な地震が起きるとChararinaのサービスはどうなるでしょうか.Chararinaのサーバを入れているセンターは大手の施設の整ったビルなので相当な揺れまで耐えることが期待できますが,電気の供給が完全に止まったら自家発電装置も持って3日でしょうか.あと回線が無事かという問題がありますね.
サーバにアクセスできなくなったらサイトは当然停止するとして,インフォデリやキャラデリが使えなくなります.またサインインが出来ないためタイムアウト処理が入り,起動が遅くなるかもしれません.ライセンス認証もできないのは問題ですね.
まあ,東京のサーバセンターが止まるような状態では地方でもインターネットが使えるかどうか微妙なので,割り切ってPCをインターネットに繋げない状態でChararinaを起動していただくのが良さそうです.機能的には古いバージョンと同等レベルになりそうですが.
(Nassie)

デジカメ所有について

昨日から第38回Chararinaユーザに聞きました「所有しているデジカメについて」を開始しています.実に80%近いユーザがデジカメを持っていて,50%がコンパクトデジカメという結果.やはり大変な普及ぶりですね.

デジカメも黎明期のころは家電メーカー,PCメーカーが作るものというイメージでしたがカメラメーカーが次第に巻き返し,レンズ交換型一眼デジカメともなると普通のフイルム式レンズ交換型一眼カメラメーカー(つまりキヤノンやニコンなど)の独壇場です.これはレンズ交換式(普通,交換用のレンズはカメラ本体より高価)という特性を考えれば当然ですが,それ以外にも,CCDやCMOSなどデジカメのデジタル部分の性能が上がるに従いレンズなど光学系の性能も必要になり,そうした光学系は一朝一夕には作れない,という面もあるそうです.
(Nassie)

キャラクタ作成講座はじめました

キャラクタ作成講座第一回を公開しました.

まだ第一回ですのでシンプルなキャラクタですが,これをベースにいろいろなことができるキャラクタに育てていきたいとおもいます.

(Youi)

第一回キャラクター作成講座

1.ダウンロード
kouza1をダウンロードします.保存する場所はデスクトップで良いでしょう.
デスクトップに保存すると下のアイコンがデスクトップに表示されます.
作成講座1kouza1.exeアイコン



2.kouza1を実行する.
kouza1を実行します.

(以下,展開プログラムの説明を追加する)
展開先はデスクトップを指定します.

デスクトップにkouza1フォルダが出来ます.
作成講座1kouza1フォルダアイコン




3.kouza1フォルダの内容を確認する
kouza1フォルダの中にはこのようなファイルが作られます.
(※windowsの設定によって,見え方が画像と異なる場合があります)
作成講座1kouza1フォルダ



4.キャラクターを起動する
kouza1(以下のアイコン)を実行すると,キャラクターが起動します.
作成講座1kouza1.batアイコン



起動したキャラクターです.
作成講座1タイヤネコ1
このキャラクターは画像を表示し,吹き出しに「hellow, world」と表示します.



5.キャラクターの動きを見る
キャラクターの動きは,hello.ayaファイルに書いてあります.
hello.ayaファイルをメモ帳などのテキストエディタで開きます.
作成講座1メモ帳



--
void Talk( string str );
int LoadBitmap( string fname );
void DisplayImage( int effectflg );
--
上の3行は,キャラクターが使用する関数を宣言しています.

--
action StartUp@( false )
{
(処理)
}
--
この部分は,キャラクターが起動したときに実行する処理であることを表わしています.
{ と } の間の (処理) の部分に,キャラクターが起動したときに実行したい処理をかきます.
(処理)の内容を下で説明します.

--
LoadBitmap( "hello.hp3" );
DisplayImage( 0 );
--
この部分は,画像ファイル'hello.hp3'を読み込み,画面に表示します.
LoadBitmap関数は,画像ファイル'hello.hp3'を読み込む関数です.
DisplayImage関数は,読み込んだ画像を画面に表示する関数です.


--
Talk( "Hello, world!!" );
--
ここで,吹き出しに文字列'Hello, world!!'を表示します.
Talk関数は,指定された文字列を吹き出しに表示する関数です.


6.キャラクターをカスタマイズする

Talk関数で吹き出しに表示するメッセージを変更することが出来るので,お好みのメッセージを表示させてみてください.
Talk関数には,クリックで次のメッセージを表示する機能も用意されています.
例えば,Talk関数の行を
--
Talk( "Hello, \cworld!!" );
--
の様に書き換えて,キャラクターを作り直してみましょう.

起動しているキャラクターを終了させてから,kouza1(以下のアイコン)を実行します.
作成講座1kouza1.batアイコン



今度は吹き出しに'Hello,'を表示して止まります.
ここで吹き出しをクリックすると,'world!!'が表示されます.
作成講座1タイヤネコ2

'\c'は吹き出しやキャラクター画像をクリックするまで,次のメッセージを表示しない制御文字です.
クリックを待っているときは記号'▼'が点滅します.
'\c'を上手に使うことで,長いメッセージを読みやすく表示できます.


7.まとめ

無事キャラクターを動かすことが出来ましたか?

キャラリナは,もっと色々なことができるキャラクターを作れます.

これからは,キャラクターの画像を増やしたり,マウスのクリックに反応するようなキャラクターの作り方を紹介していきます.

おまけページ更新

観秋くずし
某所の「おまけページ」にブロック崩しを更新しました.珍しい服装での追加です.ブロック崩しは2段階に変化しますが、下に着せた服を完全に隠せる上着となると結構限られてくるんですね,これが.

まだ場所がわからなくて探しておられる方はおられるでしょうか.特に隠されたリンクというわけではなく単に小さいだけなので,丹念に上から見ていけば見つかると思いますので探してみてください.
(Nassie)

ひまわり運用開始,M-V-6号機成功ときて…

6月28日からひまわり6号の正式運用が開始されています。天気予報の衛星画像(例えばtenki.jpの気象衛星画像)を見ても、ここしばらく「GOES-9」だった左上の文字がひまわり6号を表す「MTSAT-1R」に変わっていて、ようやく自国の衛星での気象観測が復活したかと感慨もひとしおです.
それなのに毎日新聞の「日本のスイッチ」を見ると、ひまわりの復活に気付いていた人はたったの29%と、71%がまったく気付いていなかったという状態で…まあ打ち上げに成功したのは半年近く前なので「そういえば」という感じなんでしょうが,運用開始がもっとニュースになってもいいのにと思ったりします.ひまわりシリーズは日本だけではなくアジアの各国で便利に使われていて,日本が行っている重要な国際貢献の一つなのですが.

7月10日にはM-Vロケット6号機の打ち上げが成功し、衛星「すざく」も無事に軌道に乗りました.これがまたすごいX線天文衛星らしいです(が,詳しいところはあまりよく解りません^^;).

ちょうど日本では宇宙関連のいいニュースが続いたところで,いよいよスペースシャトルの復活を懸けた打ち上げが今日の早朝に行われるはずだったんですが,延期になりました.再打ち上げは最短で16日(現地時間)だが7月中に見通しが立たない場合は9月以降まで延期されることもあり得るとのこと.産経の記者さんもカンズメですね.
とはいえ,打ち上げを焦っていい結果になった試しはないので,中の人は適当にリラックスしていいタイミングで打ち上げて欲しいものです.


明日は「秘密のおまけページ」の更新があります.ついに三女が登場…?
(Nassie)

四姉妹半額キャンペーンあと1日

6月15日からスタートした四姉妹の2人目以降半額キャンペーンも残りあと1日ちょっとです.もともと複数の姉妹を使っている人はこの機会にまとめ買いしておけばお徳かもしれません.まだ1人しか使ったことがないという方は,試しと思って一度他の姉妹も使ってみてください.

おそらく誰もやったことはないと思いますが,今回のキャンペーンの場合のような単発系(クレジットやプロバイダなどの自動継続でない)ライセンス購入は,キャラクターのライセンスが切れていなくても何回でも購入できます.で,購入したライセンスは単純にこれまでの使用期限にプラスされるだけなので,180日ライセンスを6回繰り返して買って,手続きを6回やると,使用期限を3年先まで延長できます.
…だから何だという感じですが,比較的実用的な知識としては「単発ライセンスを購入する時に,いまのライセンスが切れるのを待つ必要はない」ということでしょうか.
(Nassie)続きを読む
Blog内検索

Web blog内
Recent Comments
Chararinaサイト最新情報
QRコード
QRコード
Archives
カテゴリ別
Amazonおまかせリンク
  • ライブドアブログ