空想曲線

吉里吉里2/KAG3でのゲーム制作に使える小ネタ置き場。ゲーム用素材も置いてます。

フリーゲーム:誕生日当てツール&ミニゲーム「1/365」配布  

2013-11-29
2017-07-07
cm0
tb0

誕生日当てツールにミニゲームを2つ足した変なゲームができました。
良かったら遊んでやってください (´∀`*)ノシ

1_365スクショ2



スクリーンショット


条件を満たしていくことで、遊べるゲームや会話の項目が増えていきます。
誕生日を当てたり、神経衰弱で遊んだり、宇宙人を納品したり、ピクトさんと話したり。
ゲームのシステムは真面目に作っていますが、中身は悪ふざけのカタマリです。

1_365スクショ2 365_ss03.png
1_365スクショ5 1_365スクショ4

右下に陣取っているピクトさんは、見た目と違って紳士的ではありません。
たまに口汚い言葉を吐きますのでご注意ください。



ソフト詳細/ダウンロード


ソフト名
誕生日当てツール&ミニゲーム「1/365」
制作ツール
吉里吉里2/KAG3
動作環境
Windows XP / Vista / 7 で確認済(8もたぶんOK)
制 作
空想曲線
バージョン
1.0
公開日
2013/11/28


誕生日当てツール+ミニゲーム「1/365」をダウンロード(17.8Mb)


アーカイブクラックによる素材の抜き出し、スクリプトの丸コピは厳禁です。
バグ等を発見された場合、お手数ですがご連絡いただけると助かります。
この記事のコメント欄、またはメールフォームからお知らせください。


※2013/12/03 追記

攻略メモ同梱するの忘れてた (ノ∀`)< すまぬ

↓ミニゲームが出ないときにどうぞ。攻略チャートです。

★「1/365」ひみつメモ(txt形式)


アヴァロンの騎士 モルモルの軌跡  

2013-11-25
-0001-11-30
cm0
tb0

2~3日間隔で更新しようが1ヶ月近く放置プレイしようが
訪問者数にこれといった変動の見られない当ブログですが
1ヶ月に1日だけ、アクセスが異常に増える日があります。

『アヴァロンの騎士』聖戦イベントの日です。

四天王が全員いなくなったけど、この後どうなんのかね。
くっそー、アマーレク可愛かったのに。ペリスティアはまあいいや。

何となく毎月、聖戦の結果を書き散らかしてきたんだけど
今月はジョブもマテも前回と同じだから、特に書くことがない。

(´・ω・)< うーん

(*・ω・)< よし、モルドレッドのイケメンっぷりでも広めるか!

アヴァロンの方だと、ちびキャラしか見られないので
ラグナブレイクから引っ張ってきました。

アヴァロン

左側が円卓の騎士時代のモルドレッド。ナイスイケメン。
右側は裏切り後に覚醒したモルドレッド。ナイス中二病。

CMでもおなじみの鎧武者姿は人間やめちゃったモルモル。
最新のストーリーモードでこのエピソードを扱ってます。

ラグナブレイクはアヴァロンを開始したときに開催されていた
コラボイベで遊び始めたけど、普段は絶賛放置プレイ中。
マーケットで円卓騎士団「だけ」集めてニヤニヤしています。

ちなみに、モルドレッドのカードはレアリティが低いです。
アーサーやジークが SSR~LR なのに、モルモル R だぞ。
異父兄弟のガウェインだって RR だというのに。

( ゚д゚)ハッ!

もしかして、それが裏切った理ゆ(ry


吉里吉里/KAG:クリッカブルマップで効果音を鳴らすには  

2013-11-23
2017-06-14
cm0
tb0

テキストリンクタグ[ link ]や、グラフィカルボタンのタグ[ button ]には
効果音を再生するための属性 enterse, clickse が定義されているので

「リンクやボタンにマウスが乗ったら効果音を再生する」

といった動作もカンタンに実装することができます。

しかし、クリッカブルマップを使用する場合はカンタンにいきません。
クリッカブルマップのアクション定義ファイルに使用できるのは

storage, target, onenter, onleave, hint, exp, countpage,cursor

この8つのみ。enterse,clickse なんて便利なモノはありません。
じゃあどうすりゃいいのよってのが今回のお題です。

少し長くなるので、先に答えを書いておきます。

「効果音を再生する関数を作って onenter に放り込む」

これだけです。では、その関数とやらを作っていきますヽ(・∀・ )ノ



1.効果音を再生する関数を作る


KAG3リファレンスの「TJSをもっと使うために」の中に
効果音を再生するための TJS 式が書かれています。


kag.se[ n ].play(%[ storage:'再生する効果音ファイル名', loop:false ]);


・nは効果音を再生するバッファ番号
・ファイル名はシングルクォーテーションで囲む
・効果音をループ再生させるなら[ loop:true ]に変更

で、これを関数にします。


// 効果音を再生する
// 引数 nm には効果音を再生するバッファ番号を入れる
function PlaySe(nm)
 {
  kag.se[ nm ].play(%[storage:'hoge', loop:false]);
 }


function で囲っただけです。
バッファ番号を引数 nm で指定できるようにしていますが
使用するバッファ番号が決まっているなら直接番号を書いちゃってください。


kag.se[ 0 ].play();


と書けば、バッファ番号0で効果音を再生するようになります。

また、効果音のファイル名を個別に指定できるようにしたい場合は


//  効果音を再生する
// 引数 elm には再生したい効果音のファイル名を入れる
function PlaySe( elm )
 {
  kag.se[ 0 ].play(%[storage:elm, loop:false]);
 }


と書いて、引数 elm に好きなファイル名を入れればOKです。
ファイル名は必ずシングルクォーテーションで括りましょう。括らないとエラーが出ます。



2.マップアクション定義ファイルを書く


↓この関数を使います


function PlaySe(nm, elm)
 {
  kag.se[ nm ].play(%[storage:elm, loop:false]);
 }


たとえば、領域1にカーソルが乗ったときに「hoge」という効果音を
バッファ番号0で再生したい場合は、マップアクション定義ファイルに


1:onenter="PlaySe(0, 'hoge')";


と書けばOKです。


1:onenter="kag.se[ 0 ].play(%[storage:'hoge', loop:false])";


と、直接書いても構いませんが、横に長くなるのでオススメしません。



3.クリックしたときに効果音を再生したい


んじゃ、応用編。

領域をクリックしたときに効果音を再生したい場合はどうするか。
これには exp を使用します。マップアクション定義ファイルに


1:exp="PlaySe()";


と書けばOKです。書き方は onenter のときと同じです。

もちろん、別の処理を続けて書くこともできるので
クリックしたときに変数 f.a に1を足したいと思ったら


1:exp="PlaySe(), f.a+=1";


のようにカンマで区切ってやればOKです。



4.前回のネタと混ぜてみる


領域にカーソルが乗ったら、効果音を再生しつつ画像を表示する。
これを実装できるようにしてみます。

まず、画像を表示する関数を適当に作ります。
実行すると、前景レイヤ0のX座標100、Y座標100に「sample」という画像を表示します。

いまさらですがファイルの拡張子は省略できます。
後でファイル形式を変更したときに修正しなくて済むので便利です。


function CutImg()
 {
  with( kag.fore.layers[ 0 ] )
  {
   .setPos( 100, 100 );
   .loadImages(%[ storage:'sample' ]);
   .visible = true;
  }
 }


で、次に効果音を再生する関数を適当に作ります。
「hoge」というファイルをバッファ番号0で再生します。


function PlaySe()
 {
  kag.se[0].play(%[storage:'hoge', loop:false]);
 }


画像表示の関数 CutImg に、効果音再生の関数 PlaySe を足します。


function CutImg()
{
  with( kag.fore.layers[ 0 ] )
  {
   .setPos( 100, 100 );
   .loadImages(%[ storage:'sample' ]);
   .visible = true;
  }
   PlaySe(); // 効果音再生の関数
}


ほい、できた。あとはマップアクション定義ファイルに


1:onenter="CutImg()";


と書けば、領域にカーソルが乗ったときに画像を表示しながら効果音を再生してくれます。

では今回はこれにて (´∀`*)ノシ


吉里吉里/KAG:画像表示・消去の関数を作る  

2013-11-22
2017-06-14
cm4
tb0

吉里吉里/KAGちょいネタシリーズ。今回のネタはこちら。

「テキストリンクにマウスカーソルが乗ったら画像を表示したい
 で、マウスカーソルが外れたら画像を消去したい」


以前にも似たような記事をいくつか書いていますが
もう少し手軽に使えるように改良してみました。

使用するのはリンクタグ[ link ]の属性、onenter, onleave と画像表示・消去用に使う関数だけです。
グラフィカルボタンやクリッカブルマップでも使えるのでコピペしてお試しください。



1.グラフィック表示の関数を作る

まずはグラフィックを表示する関数を作っていきます。

// グラフィック表示用の関数
function CutImg( lay, sto, x, y )
 {
  with( kag.fore.layers[ lay ] )
  {
   .setPos( x, y );
   .loadImages(%[ storage:sto ]);
   .visible = true;
  }
 }

引数の中身は次のようになっています。
lay……前景レイヤ番号
sto……読み込みたいグラフィックのファイル名
……グラフィックの表示位置X座標
……グラフィックの表示位置Y座標

with の部分は

 kag.fore.layers[ lay ].setPos( x, y );
 kag.fore.layers[ lay ].loadImages(%[ storage:sto ]);
 kag.fore.layers[ lay ].visible = true;

と同じことです。with を使うとスクリプト量が減ってラクです。

setPos( x, y )の部分は、画像を表示する位置を指定しています。
タグ[ image ]の属性 left,top と同じです。

loadImage(%[ storage:引数sto ])でグラフィックを読み込みます。
タグ[ image ]の属性 storage と同じです。

最後の visible は画像を読み込んだ前景レイヤを可視にするという処理です。
タグ[ layopt ]の属性 visible と同じです。



2.グラフィック消去の関数を作る

カーソルが外れたときに画像を消去する関数を作ります。
(´ω`)< 画像が出っぱなしだと色々困るべ

// グラフィックを非表示にする関数
function CutImgErase( lay )
 {
  kag.fore.layers[ lay ].visible = false;
 }

引数 lay には任意の前景レイヤ番号が入ります。
この関数では、引数で指定した前景レイヤを不可視にする処理を行っています。

kag.fore.layers[ lay ].freeImage();

に書き換えると、引数で指定した前景レイヤを解放します。
タグ[ freeimage ]と同じです。

どちらを使うかはお好みで。



3.KAGでスクリプトを記述する

KAGシナリオに戻ってスクリプトを書いていきましょう。

*001
;カーソルが乗ったらhogeという画像を前景レイヤ0に表示する
;カーソルが離れたら前景レイヤの画像を不可視にする

;ひとつめの画像はX座標100、Y座標100の位置に表示

[link target=*002 onenter="CutImg(0,'hoge',100,100)" onleave="CutImgErase(0)"]

ひとつめの選択肢
[ endlink ][ r ]

;ふたつめの画像はX座標200、Y座標200の位置に表示

[link target=*002 onenter="CutImg(0,'hoge',200,200)" onleave="CutImgErase(0)"]

ふたつめの選択肢
[ endlink ]

;シナリオの停止

[ s ]


*002
[ cm ]
;カーソルを動かさないうちは画像が残っているのでここで解放しておく

[ freeimage layer=0 ]

どっちを選んでもここに来るけど気にすんな。
[ s ]



4.クリッカブルマップで使用する場合

マップアクション定義ファイルを次のように記述します。
値をダブルクォーテーションでくくらないとエラーが出るので注意。

// マップアクション定義ファイル

1: target="*002"; onenter="CutImg(0,'hoge',100,100)"; onleave="CutImgErase(0)";
2: target="*002"; onenter="CutImg(0,'hoge',200,200)"; onleave="CutImgErase(0)";

...(以下省略)


では、今回はこれにて終了 (´∀`*)ノシ


すっかり忘れていた  

2013-11-11
-0001-11-30
cm0
tb0

フォルダ整理中に何か見つけた。

発掘されたボツ画像

途中で飽きて作るのをやめた脱出ゲーの背景画像。

入手アイテムを《影》に変換した後、《回転》して形を変えると
違うアイテムになって謎解きに使えるというネタを考えていた。

たとえば、コーヒーカップとソーサーのセットを横から見ても
コーヒーカップとソーサーにしか見えない。

それを《影》にして上から覗くと《円》に見える。
コーヒーカップがソーサーの影に隠れちゃうから。
で、その状態で《実体》に戻すと《ボール》になる。

といったカンジ。
物の見方はひとつじゃないよってのをテーマにしてた気がする。

アイディアとしては面白いかなーと思ったんだけど、フラグ管理で軽く死んだ。
アイテムの状態を調べるのがものすごい面倒くさかった。

・入手しているかしてないか
・アイテムは《影》か《実体》か
・《影》のとき、見えている位置はどこか
・《実体》にできる状態かどうか
・《実体》になっているアイテムはどちらか
・使用済みかどうか
・プレイヤーが選択中しているかどうか
・使用箇所は正しいかどうか

(´・ω・)< 誰だよ、こんなネタ考えたの

そんなワケで途中で投げてお蔵入りになった。

製作を再開する可能性は限りなくゼロに近いので画像だけ晒しておく。
プロジェクトファイルは見つからなかった。たぶん捨てたな。
画像だけはそれなりに頑張って作ったから残してあったんだろう。

ま、ゲームなんて完成させなきゃ何の意味もないんだけど。

では、今回はこれにて。
デバッグ作業に戻ります ε≡≡ヘ( ´Д`)ノ< れっつ☆バグ取り!


余計なことをするとこうなる  

2013-11-01
-0001-11-30
cm0
tb0

早朝ランニング中、ネコの集会に遭遇した (*´Д`)< ふぉぉぉぉぉっ!めんこい!

「早起きは三文の得」とはこういうことか。
いやでも、三文ってそんなに高額じゃないよね。
そんなことはどうでもいいか。ネコかわいかったし。

誕生日当てツールにおまけゲームをつけようとしたら
10月中に配布できなくなった。私、アホすぎる。

とりあえず製作中のスクショを載せてごまかします。
2013_1101.png

カード24枚版の《神経衰弱っぽいもの》です。
誕生日当てと連動できる仕組みにしようと目論んでいますが
実装できるかどうかは私のヤル気と根気と頭の中身次第です。

ぼちぼち頑張ります ε≡≡ヘ( ´Д`)ノ


Author

Recent

Category

Link

Comment

Mailform

Twitter