幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 961|回复: 26

[下载]Shooter Maker 95(STG)(シューティングツクール95)+特別講

[复制链接]

29

主题

108

帖子

1485

积分

⑥精研

积分
1485
发表于 2005-1-3 06:57:26 | 显示全部楼层 |阅读模式

</CENTER>

シューティングツクール95
[/td]
<CENTER>
[td]ASCII
シューティングゲーム作成


難易度
●●●●●
お勧め度
●●○○○
ゲーム状況
 理解できません
 おなじみアスキーのツクールシリーズ。もちろんシューティングを作るために購入したのですが、コマンドが難しいです。基本的な部分も作れず、結局あきらめてしまいました。SFCのデザエモンくらいだとわかりやすいのだけど。


シューティングツクール95   あらゆるシューティングゲームを再現するために生み出された決定版!

縦横のスクロールは言うに及ばず、斜めスクロールにも対応した全方向スクロールの設定も可能。そのほか多重レイヤーを利用した高低差のあるステージの作成や、敵のロックオン機能、アイテムを購入するショップ機能など、多用なスタイルのシューティングゲームが作成可能です!

こだわり派の人も大満足の機能が満載

スクリーンサイズは、256色なら最大800×600、3万色(High Color)でも最大640×480までオッケー! ため撃ちはもちろん、ロックオンレーザーまで作れてしまいます。全方向スクロール機能を使って、アクションゲームのような作品も作れたりと、使い方はさまざまです。

操作は簡単ながら、奥の深い設定が可能!

ゲームの作成手順は、パーツを組み合わせてマップを作り、そこに敵キャラなどを配置していくだけです。敵キャラなどはイベントと呼び、実際に画面に現れるものだけでなく、スクロールを操作するなどゲームの制御も行うことができます。

RPG風シューティングなんてのもアリ!?

自機を複数を用意して選択させたり、集めたコインでお買い物、なんてこともできます。ステージ中にちょっとした演出などを『RPGツクール』のいわゆるイベントみたいなカタチで設置できるので、イロイロな仕掛けを作ることができちゃいます。


Shooter Maker 95

http://www.punisher2099.50megs.com/Files/STKool.zip

http://x-rpg.net/makers/ShooterMaker95.exe



[此贴子已经被作者于2005-1-20 8:02:27编辑过]
回复

使用道具 举报

0

主题

9

帖子

714

积分

⑤进阶

积分
714
发表于 2005-1-4 09:38:26 | 显示全部楼层
顶一个先!
回复 支持 反对

使用道具 举报

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
发表于 2005-1-4 15:18:27 | 显示全部楼层
哦?[em02]
最近,迷上八云紫大婶了
回复 支持 反对

使用道具 举报

0

主题

8

帖子

78

积分

②入门

积分
78
发表于 2005-1-4 21:24:29 | 显示全部楼层
这个工具是跟着准备汉化的项目,找有兴趣的能负责程序破解部分的人合作。

QQ:54621045,谢绝无聊人骚扰。

[此贴子已经被作者于2005-1-4 21:27:04编辑过]
回复 支持 反对

使用道具 举报

29

主题

108

帖子

1485

积分

⑥精研

积分
1485
 楼主| 发表于 2005-1-9 07:50:31 | 显示全部楼层
シューティングツクール95特別講座第1回
今回作るゲームはこんな感じ
今じゃあ、シューティングゲームと言えば、縦スクロールとか横スクロールとか3D視点とかを思い浮かべるのが普通だよね。でも、その昔には、8方向スクロールというジャンルもあったのです。有名なところで言うと、『ボス○ニアン』や『タイムパイ○ット』あたりかな。プレイヤー(自機)が向いている方向にスクロールするのが、この8方向スクロールシューティングゲームの特徴でした。今時見かけないけど、逆にこういうのを作ったら新鮮かもしれません。
 さて、そんなワケで、今回は、8方向スクロールのシューティングゲームを作ってみることにしましょう。スクロールは任意。強制的にスクロールし続けるわけではなく、自分が移動したときのみスクロールする方式です。『ドラゴンクエスト』などのRPGのフィールド画面をイメージしてもらえればいいかな。右の写真みたいな感じです。相変わらず前置きが長いですね。いい加減、作成手順に入りましょう。http://www.enterbrain.co.jp/digifami/products/stg95/fortress.exe
8方向スクロールのゲームを作るには
重要な設定項目は、以下のものだけです。ここさえ設定すれば、標準添付のサンプルゲームだって8方向スクロールになります。ゲームにならないでしょうけど。

1)まず“ステージごと”の設定にある[スクロール制御]を“プレイヤー”に設定しましょう。

2)次に同じく“ステージごと”設定内の[スクリーンの親子関係とスクロール情報]で、スクリーン[1]の[変化元]を“基準”、[速度]を“0”にしておきます。

3)続いて、“プレイヤー”の設定の[初期設定]を開き、[スクロール制御]を“移動に合わせる”にしてください。

 以上です。なんと、たったこれだけの設定で8方向スクロールのゲームを作るため準備は完了となります。ポイントは、スクリーンの速度を0にしておくこと。こうしておかないと、隣りの[方向]で設定された方向へ強制スクロールしてしまい、自機が引っ張られるようになります。
自機を作る
基本的には、特別な設定をする必要はありません。せっかく8方向にスクロールするのですから、パターンは8方向に持たせたいですね(そう言いながら今回のサンプルゲームでは4方向だったりする)。あとは、自機が向いている方向へ攻撃するように、“プレイヤー”の設定にある[攻撃]を開き、[攻撃方向]を“進行方向”にしておけば良いでしょう。
完成!
あとは、武器やら敵やらを作り、マップを描けば完成です。
 今回のサンプルゲームは『ガン○レット』風に仕上げてみました。
サンプルゲームの実行方法
ダウンロードしたファイルを実行すると、自動的に解凍が行なわれ、“FORTRESS”というフォルダが出来上がります。ゲームを起動するには、そのフォルダ内にある“STKRUN.EXE”を実行してください。

遊び方
テンキーで移動、Shiftキーでショットを撃ちます。ステージのどこかに潜むボスを倒せばクリアーです。ゲームを終了するときはESCキーを押してください。
回复 支持 反对

使用道具 举报

29

主题

108

帖子

1485

积分

⑥精研

积分
1485
 楼主| 发表于 2005-1-9 08:03:57 | 显示全部楼层
シューティングツクール95特別講座第2回
第2回/ガンシューティング(風のゲーム)を作ってみる
今回作るゲームはこんな感じ!
ガンシューティング(以下、ガンシュー)というのは、銃を模したコントローラで画面上の敵をバンバン撃っていくアレです。今回は、シューティングツクール95の“マウスで自機を動かせる機能”を使って、ガンシュー風のゲームを作ってみることにしましょう。
サンプルゲーム “星に願いを Tinyばーじょん”
●ストーリー(こじつけ)
 星がキレイに輝く夜、「流れ星に願い事をかければ、なんでもかなう」という言葉を信じてある少女が夜空を見上げていました。ところが、その夜空では、宇宙人が流れ星に見せかけた爆弾を地球に降らせようと企んでいたのです! そうとは知らず、彼女はその流れ星型の爆弾にも願いをかけていました。
 しかし、彼女には不思議な力があったのです。なんと、彼女に願いをかけられた爆弾は、その美しい心に耐えきれず、宇宙の彼方へと消えてしまうではありませんか!
 こうして知らずのうちに地球の命運を背負うこととなった彼女は、果たして地球を守り切れるのでしょうか……?
http://www.enterbrain.co.jp/digifami/products/stg95/star_t.exe
●ゲームの実行方法
ダウンロードしたファイルを実行すると、自動的に解凍が行なわれ、“Star_T”というフォルダが出来上がります。ゲームを起動するには、そのフォルダ内にある“STKRUN.EXE”を実行してください。
●遊びかた
マウスで照準を動かし、左クリックで願いをこめます(弾を撃ちます)。照準を流れ星に合わせて願いをこめれば、流れ星をはじき返すことが可能です。流れ星が地上に落下してしまうと、画面中央上に表示された耐久力が減ります。耐久力が0になるとゲームオーバーです。月が画面左端に到達するごとに難易度が上がります(最高8段階)。一時停止は[F1]キー、ゲームの途中で終了したいときは[ESC]キーを押してください。
 なお、マウスのボタンを酷使するゲームなので、遊びすぎに注意しましょう。マウスのボタンが壊れることがあります(笑)。
ガンシュー風ゲームの作り方
必要な設定は以下の2点です。

1.プレイヤーイベントの[パターン]を照準のグラフィックにする
2.プレイヤーイベントの[攻撃]にある[入力デバイス]を“マウス”にして、[ボタンの割り当て]を設定する


 これで、照準(プレイヤー)をマウスで動かせるようになります。あとは普通に作っていっても、ガンシュー風のゲームになるはずです。ただし、プレイヤーの当たり判定には注意。これをなくしておかないと、照準を敵に重ねることができなくなります。
サンプルゲームのテクニックをいくつか伝授!
敵を無限に出現させる
 このゲームでは、敵にあたる“星”をイベントとして配置せず、かわりにジェネレータとなるイベントを配置して、そこから無限に敵を発生させています。また、このジェネレータ自体のイベントはプレイヤーに見せたくないので、画面外に配置しておきました。実は、ゲームのときには実際の画面サイズよりも少し先に配置したイベントも出現します。これを利用したテクニックです。
耐久力でゲームオーバーを判断する
 このゲームでは制限時間を利用することで耐久力を表現しています。移動言語の“変数へ変数内容を代入”コマンドを使い、制限時間(変数番号73)へ耐久力の数値(このゲームではグローバルメモリー24で管理)を代入すれば、制限時間の数値が耐久力となるわけです。ただし、当たり前ですが制限時間は勝手に減っていってしまうので、耐久力→制限時間の代入を常に行なうことで、これを回避しています。
質問にも答えちゃうぞ! コーナー
シューティングツクール95、楽しませて頂いています。さっそく質問です。僕のゲームでは途中で雲の上へスクロールする場所(サンプルゲームの『AGGRESSIVE』みたいなの)がありますが、そこで敵や敵弾も一緒に上がってきてしまいます。良い解決方法を教えてください。
まず、敵キャラなどのイベントは……
[ステージごと]の設定にある“スクリーンの親子関係とスクロール情報”で“基準”に設定したスクリーンに合わせて動く(基準に設定したスクリーンが複数ある場合は、スクリーン番号が一番若いものが基準になります)
……ということを覚えておいてください。おそらく、クエストさんのゲームでは、上記で説明している“基準のスクリーン”が上にスクロールしていないのではないでしょうか? そのため、背景は上にスクロールしているのに、敵はそのスクロールに干渉されずにまっすぐに動き、結果として一緒に上がってくるように見えているのだと思います。つまり、この場合は、基準のスクリーンをスクロールさせるようにすれば良いワケです。このあたりを念頭において、もう一度『AGGRESSIVE』のデータを見てみると良いでしょう。ちなみにAGGRESSIVEはアグレッシヴと読みます。いや良く聞かれるものですから。

回复 支持 反对

使用道具 举报

29

主题

108

帖子

1485

积分

⑥精研

积分
1485
 楼主| 发表于 2005-1-9 08:09:22 | 显示全部楼层
シューティングツクール95特別講座第3回
第3回/自機選択式のゲームはこう作れ!
今回のサンプルゲーム 『Dream Castle』
今回のサンプルゲームは、ごくノーマルな横スクロール全2ステージのモノ。プレイヤーを3種類から選べるのが特徴だ。また、デジファミ切ってのドット絵師、宮内による描き下ろしのグラフィックにも注目。タイトルはドリームキャッスル……略してドリキャ(以下自粛)って呼んでね!
●ストーリー
悪魔“ナイトメア”によって作られた悪夢を消し去るため、3人(匹?)の妖精たちが立ち上がった!
http://www.enterbrain.co.jp/digifami/products/stg95/dream.exe
自機選択式のゲームを作るための設定
今回はほんの少しばかり複雑。サンプルゲームをエディターで開いて、一緒に内容を確認しながら読むとわかりやすいと思いますよ。

1.プレイヤーのパワーアップ方式を“自機選択”にする
プレイヤーイベントの“攻撃”タブを開き、[パワーアップ方式]の項目を“自機選択”に設定します。

2.各自機の攻撃を設定する
同じく、プレイヤーイベントの“攻撃”タブにある[レベルごとの武器登録]の項目に各自機が初期装備する武器イベントを設定します。[W1]の欄に横に4つ並ぶ項目には1番の自機が選択されたときの初期装備、[W2]の欄には2番の自機が選択されたときの初期装備……といった感じで、選択できる自機の数だけ武器イベントを設定しましょう。どの自機を選択したときにも装備される共通のメインショットなどは、[通常装備]の項目にあらかじめ設定しておきます。

3.自機選択デモを作る
[デモ]メニューの[自機選択]を開き、自機選択画面を作成します。ここで注意しておきたいのは、「自機1~7のイベントの[取り扱い]を必ず“パターン”にしておく」ということ。ここで表示されるパターンは、ショップイベントで1面の商品として登録されたものが利用されます。ショップイベントの“商品登録”タブを開き、商品1のパターンには1番の自機、商品2には2番の自機……という感じで絵を設定しておきましょう。このとき、各商品の[使用しない]のチェックを外しておかないと設定できませんので注意。ここで[商品説明]の項目に説明を入れておくと、自機選択画面のメッセージイベントで指定した範囲に表示されます。なお、これらの設定をしてもデモエディター上ではパターンの表示が反映されません。実際の表示は、[デモ]メニューの[デモ実行]を行なって確認しましょう。

これで自機選択式のゲームになりました。ただ、勘のいい人はお気付きかもしれませんが、自機選択式のゲームを作った場合はゲージ式のパワーアップやショップを使うことができなくなります。ゲーム設計のときには、このへんを踏まえておきましょう。
今回のテクニックはコレだ!
自機ごとに絵を変える
実はプレイヤーイベントには絵をひとつしか設定できません。つまり、自機選択では「武器は変えられるが、外観は一緒」のものしか基本的には作れないのです。ですが、「爆発イベントを初期装備に設定しておくと自機と一緒に動いてくれる」という隠し機能を利用して、今回のゲームでは自機ごとに絵を変えることを実現しています。具体的には、プレイヤーイベントには絵を設定せず(透明にしておく)、爆発イベントに自機の絵を用意しておきます。そして、プレイヤーイベントの“攻撃”タブに設定する初期装備のなかに、この爆発イベントを設定しておくのです。

ボスキャラをアニメーションさせる
ボスイベントは、大きいパターンを設定できる代わりにアニメーションが設定できないという制約があります。しかし、ボスイベントを透明にしておき、アニメーションできる通常の敵イベントを複数重ねればその表現が可能です。今回のゲームではこのテクニックを使って、大きいキャラをアニメーションさせています。具体的には、ボスイベントの“攻撃”タブに実際の絵を入れた敵イベントを設定しておき、出現時に子としてひとつだけ発射するようにしておくだけです。今回のゲームでは「別イベントでアニメーションを制御する」というややこしいこともやっているのですが、上記の設定だけでも、大きなキャラをアニメーションさせることができます。
質問にも答えちゃうぞ!
効果音を一度鳴らすと、とめどなく鳴り続きます! なぜでしょう?
例>通常 「バキューン!」
  今回 「バキューン!バキューン!×無限」

効果音やBGMを設定する欄を良く見てみると……。おや? なんだこのチェックボックスは? というワケで、このチェックボックスにチェックを入れると、効果音やBGMがループするようになるのでした。BGMにはチェックを入れて、効果音にはチェックを入れない、というのが基本でしょう。
サンプルゲームの遊び方
●ゲームの実行方法
ダウンロードしたファイルを実行すると、自動的に解凍が行なわれ、“Dream”というフォルダが出来上がります。ゲームを起動するには、そのフォルダ内にある“STKRUN.EXE”を実行してください。

●遊び方
妖精はテンキーで8方向に移動します。[Shift]キーでメインショット、[Z]キーでサブウェポンを撃って攻撃を行なってください。どちらも弾数制限はありません。一時停止は[F1]キー、ゲームの途中で終了したいときは[ESC]キーを押してください。

●各妖精の特徴
よう子 バランスのとれた初心者にも扱いやすい妖精。蜂オプションもよう子の後をついてくる標準タイプ。地形に添って飛ぶサブウェポン“お花ミサイル”がステージ2で使える。
うせ美 うせ美の周囲を回転するタイプの蜂オプションと、進行方向に発射されるサブウェポンで防御面に優れた妖精。サブウェポンの上手な使い方が勝利への鍵だ。
せい子 貫通型のサブウェポンが強力な攻撃力重視の妖精。蜂オプションは一定時間ごとに移動と停止を繰り返すので、うまく使えば離れた位置から安全に敵を攻撃できるぞ。

回复 支持 反对

使用道具 举报

29

主题

108

帖子

1485

积分

⑥精研

积分
1485
 楼主| 发表于 2005-1-9 08:15:41 | 显示全部楼层
シューティングツクール95特別講座番外編
●番外編/Yasubeeさん質問スペシャル!
Q1.
武器アイテムを取っても、他の武器へチェンジしないときがあるのですが?
A1.
 これはヘルプでの説明不足でした。ごめんなさい。
 武器イベントは、以下のように分類され、アイテムを取った場合に割り当てられる装備場所が決まっています。


<CENTER><TH>イベント番号068~071
(ミサイル1~4)</TH>攻撃2<TH>イベント番号080~083
(オプション1~4)</TH>オプション<TH>イベント番号084~087
(シールド1~4)</TH>割り当て:シールドとして使用される<TH>イベント番号092~095
(ため弾1~4)</TH>ため(その場で発生し、パワーアップはしません)<TH>そのほかの武器イベント</TH>攻撃1</CENTER>
 たとえば、ミサイル1(イベント番号068)は“攻撃2”に自動的に割り当てられるように設定されていますので、“攻撃1”がパワーアップした状態の武器として使用できません。
 パワーアップした状態の武器イベントは、分類をよく確認して決めるようにしてください。
Q2.
“通常弾1”のイベントを使い、ショット形態はそのままでパワーアップすると攻撃力だけが上がっていくようにしたいのですが、作り方がわかりません。“通常弾2”イベント(65番)を使うと3つ、“通常弾3”イベント(66番)を使うと5つ……というように弾数が勝手に増えてしまいます。
A2.
 武器イベントのなかには、初めから動きが決まっているものがあります。ただし、これはあくまでも制御コマンドを設定しなかった場合の動きで、制御コマンドを設定した場合はその動きが有効になります。
 ただし、65番や66番のイベントのように、発射される弾の数が複数の場合、その弾の数を減らすことはできません。今回の質問の“通常弾1”は1発だけ弾が発射されるイベントなので、65番や66番のイベントは使えないことになります。こういう場合は、拡張弾イベント(88~91番)や特殊武器イベント(96~99番)といった、動きが特に決まっていない武器イベントを使うといいでしょう。
 “通常弾1”のパワーアップ状態は必ず“通常弾2”でなくてはいけない、という決まりはありません。“通常弾1”から“拡張弾1”や“特殊武器1”などへパワーアップするように設定し、それぞれの攻撃力を変えれば良いでしょう。
Q3.
武器の種類によってため撃ちやボムが変わるようにはできないのでしょうか?
Q4.
照準によってロックオンせずに自分で勝手に敵を誘導する武器は作れないのでしょうか?
A3&A4.
 まとめてお答えしてしまいますと、「できません」となります。ごめんなさい。
Q5.
攻撃方法で(1)~(3)まで登録しているのですが、(2)の攻撃だけして欲しいのに(1)と(2)の両方で攻撃してしまいます。どうしてですか?
A5.
 攻撃方法(1)で設定した攻撃は、一定間隔で必ず行なうようになっています。一定間隔で発射したい攻撃は(1)、ある決まったタイミングで行ないたい攻撃は(2)か(3)を利用しましょう。
 (2)や(3)に設定した攻撃は、制御コマンドの“ATK”を使って発射させます。
Q6.
変数の使い方がよくわかりません。グローバルメモリー、フリーメモリーとは何ですか? たとえば、変数に40(フリーメモリー)を代入した場合何を意味するのでしょうか?
A6.
 変数というのは、好きな数値を入れておける箱だと思ってください。変数を使えば、たとえば敵を倒すたびに変数に1を加えていき、ボスを倒したときにその変数が一定値以上だったら真のボスが現れる、といった表現ができます。
 グローバルメモリーとフリーメモリーは、その用途に違いがあると思ってください。グローバルメモリーは、先ほどのような例で使う変数で、どのイベントから参照しても同じ内容を知ることができます。対して、フリーメモリーはイベントごとに使える変数です。同じ番号の変数でも、使うイベントが違えば別な内容を保持できます。これらのグローバルメモリーやフリーメモリーは、値を代入しただけで何かが発生するわけではなく、後でその変数の内容からイベントの処理を分岐させたりする場合に使うのが普通です。たとえば、フリーメモリーのいずれかに40を代入したとしても、それだけでは何も起こりません。
 ただし、『シューティングツクール95』での変数は、ちょっと特殊な使い方ができるものが含まれています。変数によっては、ゲームを動かすうえで必要な情報(たとえば自機のX座標やY座標など)を参照することができ、その変数に値を代入するだけで何らかの結果を得られるのです。たとえば、変数60番では現在の自機のX座標を参照できますが、ここに値を代入すると、その値が自機の新しいX座標として使われるようになります。先ほどのフリーメモリーの例とは違い、この変数60番に40を代入した場合は、それだけでX座標が40の位置へと自機を移動させられるワケです。
 このように変数を駆使することで、システムイベントや制御コマンドだけで表現できないことも実現できるのが、シューティングツクール95の難しくも面白いところと言えるでしょう。
Q7.
制御コマンドに関することなのですが、0行から実行しはじめENDのある行まで行くとまた0行に戻るのですか?
A7.
 その通りです。
Q8.
LPT、LPEの使い方でわからないところがあります。

0000:
0001:
0002:
0003:
0004:
0005:
0006:
0007:
0008:
LPT
TRNP
LPT
ACL
LPT
LPE
LPE
LPE
END
 0
 0
 0
 0
 0
 0
 0
 0
 0
 8
 1
 5
 1
 2
 0
 0
 0
 0

上のようなリストの場合、どういう経路で実行しているのでしょうか? 5~7行のLPEがどの行のLPTに対応しているかわかりません。また、4行目のループは何を意味するのでしょうか? コレがあると速度が変わってきてるようなのですが。
A8.
 これは“入れ子”とか“多重ループ”などと言われる状態です。こういったループは“先入れ後出し”になり、ループ同士が交差することはありません。
 質問の例ならば、1番先にあるLPT(0行目)は最後のLPE(7行目)と対になり、2番目にあるLPT(2行目)は後ろから2番目にあるLPE(6行目)と対になっている……といった具合になります。
 4、5行目のループはウエイトを入れるためのものです。この例なら、2回ぶん何もしない、という意味になります。
 なお、ループの入れ子は、4重までしかできません。

回复 支持 反对

使用道具 举报

29

主题

108

帖子

1485

积分

⑥精研

积分
1485
 楼主| 发表于 2005-1-9 08:18:32 | 显示全部楼层
Q9.
以下のように制御コマンドを組んだ場合の質問です。どちらも加速しながら前進する処理ですが、2)のほうが若干加速が遅いように思います。1)との違いを教えてください。
1)
0000:
0001:
ACL
END
 0
 0
 1
 0
2)
0000:
0001:
0002:
0003:
LPT
ACL
LPE
END
 0
 0
 0
 0
 8
 1
 0
 0
A9.
 これは、一度に実行される制御コマンド数に関係しています。制御コマンドはひとつずつ実行されるのではなく、下に示した特定の制御コマンド(ここでは“区切り”と呼びます)までのカタマリがいっぺんに実行されます。これらが実行された後に、初めてその実行結果が画面に反映されるワケです。
 たとえば、下のア)とイ)の例を見比べてください。一見すると、ア)のほうが5度ずつ傾くので滑らかに動くように見えますが、実際には“区切り”である“END”が設定された4行目までをまとめて実行した結果を画面に反映しますので、ア)もイ)も同じ動きしかしないことになります。
ア)
0000:
0001:
0002:
0003:
0004:
DIR
DIR
DIR
DIR
END
 5
 5
 5
 5
 0
 0
 0
 0
 0
 0
イ)
0000:
0002:
DIR
END
 20
 0
 0
 0
 それでは、質問の場合を考えてみましょう。1)では、0行で「加速して」、“区切り”の1行で「その結果を画面に反映」した後また0行に戻る、という処理になっています。2)も、0~2行までのループを繰り返している間は「加速して」「画面に反映する」で同じです。しかし、問題はループの終わった後です。ループが終わった2行目でいったん画面に結果を反映しますが、続けて実行する3行目のENDも“区切り”なので、もう一度画面に結果を反映することになります。2行目と3行目の間には何の制御コマンドもありませんから、実際には“何もしない”時間ができてしまうワケです。この“何もしない”時間が8回に一度入るのが、2)の速度が遅くなる原因なのです。

●“区切り”となる制御コマンド
・END、JMP、LPE、DEAD、BRK
これらの制御コマンドを実行した場合、無条件で画面にそれまでの処理結果を反映します。
・DIRG
この制御コマンドを実行した場合で、そのイベントの親イベントがいない場合は、画面にそれまでの処理結果を反映します。
・IFW、IFP、JEQ、JNE、JLO、JHI
これらの制御コマンドを実行した場合で、条件が成立した場合は、画面にそれまでの処理結果を反映します。
※また、区切りとなるコマンドまでの制御コマンドが1024個を超える場合、1024個を超えた時点のコマンドがいったん区切りとなります。
Q10.
一度に数種類の武器チェンジアイテムは出せないのでしょうか? たとえば、敵1を倒すと、A、B、Cの3つのアイテムを同時に出し、Aを取ると通常弾、Bを取るとレーザー、Cを取るとホーミング弾にチェンジといった具合にしたいのですが。
A10.
 デザ○モンですね(笑)。
 通常、アイテムを発生させる場合は、
1.敵イベントの“初期設定”にある“死亡後の扱い”を“弾へ”に設定
2.発生するイベントにアイテムイベントを設定
の手順でOKなのですが、このやり方だとひとつしかアイテムを出すことができません。
 アイテムを複数出したい場合は、「直接“アイテムイベント”を発生させる」のではなく、「“アイテムを複数発生させるイベント”を発生させる」という、ちょっとしたテクニックが必要になります。まずは、この場合のゲームでの流れを考えてみましょう。
1.アイテムキャリアの敵が出現
2.アイテムキャリアが倒されたときに、アイテム発生用の敵弾イベントを発生
3.敵弾イベントから3方向にアイテムイベントを発射(敵弾イベントは自爆)
4.発射された方向によって、アイテムのパターン(絵)を変える
 こんなところでしょうか。この流れを踏まえたうえで、必要な項目を設定していけば良いでしょう。以下に例を示します。
※当たり判定などはあらかじめ設定しておいてください。


<CENTER>
アイテム発生用の敵弾イベント
 まず、武器アイテムイベントを3方向に発射する敵弾イベントを作成します。
●パターン
・絵は透明にしておきましょう。
●攻撃
・“発射する物”で“武器アイテムイベント”を選択します。
・“数量”にアイテムを発射する数を設定します(今回の場合は3)。
・“基本方向”にアイテムが発生する方向を設定します(縦スクロールなら90、横スクロールなら180など)。
※今回は攻撃方法(2)に設定したと仮定して説明します

<CENTER> </CENTER>●移動
・攻撃方法(2)の攻撃を行なうように、制御コマンドを設定します。
0000:
0001:
ATK
DEAD
 2
 0
 0
 0
  // 攻撃方法(2)に設定した攻撃を行ないます
  // もうこのイベントは必要ないので自爆します
</CENTER>

<CENTER>
アイテムキャリアが倒されたときに、アイテム発生用の敵弾イベントを発生
 次に、アイテムキャリアの敵イベントが、上で作った敵弾イベントを死亡時に発生するように設定します。
●初期設定
・敵イベントの“初期設定”にある“死亡後の扱い”を“弾へ”に設定します。
・発生するイベントに、作成した敵弾イベントを設定します。

<CENTER> </CENTER>
</CENTER>
 これでとりあえずアイテムが3つ発生するようになりましたが、このままだと、発生した武器アイテムイベントはすべて同じアイテムになってしまいます。これらを別のアイテムに変えるために、以下のように武器アイテムイベントを作成しましょう。


<CENTER>
発射された方向によって、アイテムのパターン(絵)を変える
 アイテムは3方向に発射されるので、その発射方向が違えば別なアイテムとして見ることができます。これを利用して、“発射方向によってパターンを変える”というイベントを武器アイテムイベントに組み込めば、3つとも同じアイテムになってしまうのを防ぐことができるというワケです。
●パターン
・“方向系”で“8方向”を選択します。
・“方向一覧”の0番(方向なし)に1番の武器チェンジアイテム、1番に2番の武器チェンジアイテム……といった具合で絵を設定します。なお、アイテムの種類が必要な数だけ設定すればOKです。すべて設定する必要はありません。
<CENTER>


</CENTER>●移動
・制御コマンドを以下のように設定します(アイテムの種類が3つの場合)。これは、変数97番を利用して、発射された方向別にそのパターンを変化させるというものです。変数97番を使うと、同時発射されたイベントについた判別用の番号がわかります。たとえば、3方向に発射された弾には0~2番の番号がつき、それがどの方向に発射された弾なのかを確認することができるワケです。
0000:
0001:
0002:
0003:
0004:
0005:
0006:
0007:
0008:
0009:
0010:
0011:
0012:
0013:
0014:
0015:
0016:
0017:
CMP
JEQ
CMP
JEQ
CMP
JEQ
BOOK
SEQ
JMP
BOOK
SEQ
JMP
BOOK
SEQ
JMP
BOOK
LPT
LPE
 97
 0
 97
 1
 97
 2
 0
 0
 9
 1
 1
 9
 2
 2
 9
 9
 0
 0
 0
 0
 1
 0
 2
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
  // 変数97番と0を比較
  // 等しければブックマーク0番にジャンプ
  // 以下同様



  // ブックマーク0番
  // パターンを、方向一覧の0番のものにする
  // ブックマーク9番にジャンプ
  // 以下同様





  // ブックマーク9番
  // 無限ループ

[制御コマンドの解説]
 0~5行目までは、変数97番の値を調べて分岐させる処理です。この例では、97番が0だったらブックマーク0番(6行目)、1だったらブックマーク1番(9行目)、2だったらブックマーク2番(12行目)へ処理を飛ばしています。分岐させた後は、SEQコマンドを使って、アイテムの絵を変化させているだけです。SEQコマンドを使うと、“SEQ  0 0”なら“パターン”にある“方向一覧”の0番の絵、“SEQ  1 0”なら“方向一覧”の1番の絵……というようにイベントの絵を変更できます。いずれに分岐した場合でも、最後はブックマーク9番(15行目)に飛ばし、無限ループで何もしないようにしましょう(16~17行目)。何もしない間も、設定された基本速度で発射された方向へ飛んでいくので、止まってしまうわけではありません。制御コマンドは設定された最後の行(ENDの設定された行)まで実行すると最初の行に戻ってしまいます。戻したくない場合はこのように、最後に無限ループを入れておきましょう。
</CENTER>Q11.
サンプル『AGGRESSIVE』では、ひとつのイベントに複数のキャラを登録していますが、どうやっているのかよくわかりません。“CMP  40 1”という制御コマンドがあるのですが、これは何を意味しているのでしょうか?
A11.
 これは、イベントのプロパティを使ったテクニックです。
 マップ上に配置した敵イベントをもう一度クリックすると、そのイベントのプロパティが開きます。ここで設定できる“基本方向”および“情報”は基本的に何の意味も持ちませんが、変数39~40を使って参照することが可能なのです。
 これを利用して、この“情報”の値によって制御コマンドを分岐させ、あたかも複数の敵を登録しているかのように見せています。
 絵は、方向ごとに異なるパターンを持たせられることを利用して、SEQコマンドを使って変えれば良いわけです。
 便利に見えるこのテクニックですが、
・攻撃は合わせて3種類まで
・敵のパターンの大きさはすべて同じでなければならない
・各々の当たり判定の大きさは同じでなければならない
といった制約があります。


<CENTER>
作成例
<CENTER>


●パターンで2種類の敵を割り当てます。
<CENTER>
</CENTER>
●マップ配置後にプロパティで情報をセットします。

●制御コマンドでプロパティの情報を調べて分岐させれば、別な敵が出現します。
</CENTER>

制御コマンド例
000:
001:
002:
003:
CMP
JEQ
BOOK
SEQ
 40
 1
 0
 0
 1
 0
 0
 0
  // プロパティにある“情報”の値が1か?
  // その場合は、ブックマーク1番へ飛ぶ
  // ブックマーク0番
  // “パターン”の“方向一覧”の0番の絵を表示
(タイプAの動きを記述)
010:
011:
012:
JMP
BOOK
SEQ
 0
 1
 1
 0
 0
 0
  // タイプAの最初(ブックマーク0番)に戻る
  // ブックマーク1番
  // “パターン”の“方向一覧”の1番の絵を表示
(タイプBの動きを記述)
020:
021:
JMP
END
 1
 0
 0
 0
  // タイプBの最初(ブックマーク1番)に戻る

[制御コマンドの解説]
 この例は、“情報”に0が入っていればタイプAの動き、1が入っていればタイプBの動きをする、というものです。
 まず、イベントのプロパティの“情報”に設定された値が1かどうかを調べます(0行目)。ここで値が1だった場合は、タイプBの動きを行なうためにブックマーク1番へと飛べば良いわけです(1行目)。1以外の場合は、そのまま次の行以降に記述された、タイプAの動きを実行します。タイプA、Bともに、分岐後は最初にSEQコマンドで絵を変更しています(3、12行目)。

</CENTER>
回复 支持 反对

使用道具 举报

29

主题

108

帖子

1485

积分

⑥精研

积分
1485
 楼主| 发表于 2005-1-20 07:15:20 | 显示全部楼层
時に西暦1999年夏。背中に翼を生やし空を舞う……天使の軍団が突如として人類の前に現われた。世紀末の世を救うべく、神が救いの手を差し伸べてくだされた……と思われたが、なんと天使は2000年前から虎視耽々と地球征服を狙う宇宙人だったのだ!

人類ピーンチ!
しかし、ここに地球を救うべく立ち上がる勇者の姿があった。彼こそは悪魔アモン! 闇の住人と恐れられる、地球の先住民族だ。

人間を守るつもりがないが、地球を占領されるのは気に入らねえ!
アモンは抵抗むなしく天使たちに撃墜された自衛隊の戦闘機と合体し、太陽の光のなかに飛び出した。そう……神と戦うために。


<CENTER>
■キャラクター紹介
</CENTER><CENTER>
</CENTER><CENTER>
●悪魔の勇者 アモン
500万年前から生き残っている悪魔族の勇者。本当はデビ○マンのような姿を持つが、天使の軍団と戦うため、撃墜された自衛隊の戦闘機と合体した。普段は新宿駅の地下で生活をしている。
</CENTER><CENTER>
●下級天使一号
愛のキューピットとして広く知られているが、大きな勘違い。天使の矢にさされると、ドス黒い気分になり、暴力衝動が押さえ切れなくなる。または死ぬ。
</CENTER><CENTER>
●処刑天使
接近戦を得意とし、逃げたとしてもどこまでも追いかけてくるイヤなやつ。人間を殺すのが趣味。
</CENTER><CENTER>
●鳩ミサイル
平和のシンボルとされている鳩は、実は天使軍団のスパイだったのだ。なかなかニクイ攻撃を仕掛けてくる。ゲーム中最大の難敵。
</CENTER><CENTER>
●天罰砲
天使の意志に背いた者に天罰を下す。聖書にでてくるソドムとゴモラも、彼らによって滅ぼされた。
</CENTER><CENTER>
●中ボス 偵察UFO
世界各地で目撃されているUFOがこれ。反重力エンジンを持ち、マッハ256で空を飛ぶ。定員1名。
</CENTER><CENTER>
●大ボス 母艦UFO
正式名称は惑星攻撃型弩級移動要塞アトラシス。超強力レーザー砲、全方位バルカンを装備した怪物。バリアーを持ち、人類の持つ兵器では撃墜不可能。遠隔操作により無人で行動する。
</CENTER>

<CENTER>
■遊んでみよう!
</CENTER><CENTER>
このゲームを作るのに、そんなに難しいテクニックは使用していない。誰でもその気になればこれくらいは作れるぞ! ……という見本みたいなものだ。このゲームをプレーして、『これくらい作れそうだ』と思ったら、自分でもチャレンジしてみてほしい。

<HR>
実行ファイル名:Stkrun.exe
ファイルサイズ:672KB
</CENTER>
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-20 12:51 , Processed in 0.030172 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表