N88BASICを使って簡単なゲームをつくってみたいんですけど
どうもうまくいかないんですよ。

昔なつかしのインベーダーゲームを作ろうとがんばっているのですが
敵と自機を配置したんですけどそれを動かすにはどうしたらいいのでしょうか?
もう敵を動かすのはめんどうなので自機だけキー入力で
左右に動かせるようにしたいんです。
そうするにはどういう命令を書けばいいのでしょうか?

それとシューティングゲームなので弾を発射するとか
当たったらやられるとかそういう肝心なところの
プログラムがわかんないんです。

どなたか教えてもらえないでしょうか
お願いします。m(-_-)m

このQ&Aに関連する最新のQ&A

A 回答 (4件)

あまりに懐かしいので、非常に簡単な移動&発射プログラムを下記に書きました。


(実際に動かす環境がないので、動くかどうかは分かりません。悪しからず)

1000 ' 初期化。機種によって違うと思うのでこの辺は適当に見直してね
1010 cls 3
1020 console 0,25,0,1
1030 width 80, 25

1035 ' 初期位置に自機を配置
1040 xx = 40: yy = 23 ' 自機の位置 (下端の中央)
1045 tx = 40: ty = -1 ' 弾の位置 (ty < 0 の場合、弾は発射されていない)
1050 locate xx, yy: print "@";

1055 ' メインの処理ループ
1060 execflag = -1 ' ゲームを続けるか? -1 = TRUE
1070 while execflag
1080 prex = xx: prey = yy
1090 a$ = inkey$
1100 if a$ = "4" then xx = xx - 1 ' 左に移動
1110 if a$ = "6" then xx = xx + 1 ' 右に移動
1140 if a$ = "5" then gosub *shoot ' 弾を撃つ
1150 if a$ = "q" then execflag = 0 ' 終了
1160 gosub *move
1170 wend

1175 'おしまい
1180 locate 0,0: print "game quit"
1190 end

1200 *shoot ' 弾を撃つ(準備する)
1205 ' 弾が発射されていない場合のみ、現在の自機の位置に弾を配置する
1210 if ty < 0 then tx = xx: ty = 23
1220 return

1300 *move ' 画面の描き換え
1305 ' 位置が移動していたら、元の位置の自機を消して、新しい位置に表示
1310 if prex <> xx or prey <> yy then locate prex, prey: print "@";:locate xx, yy: print "@";

1315 ' 弾が撃たれている場合以外は弾の描画はしない
1320 if ty < 0 then return

1325 ' 弾の描画 ... 上に移動する
1330 ty = ty - 1
1340 ' 撃った最初の場合以外は、元の位置の弾を消す
1350 if ty < 23 then locate tx, ty + 1: print " ";
1355 ' 新しい位置に弾を描画
1360 locate tx, ty: print "*";
1370 return

4 6 のキーで移動、 5 のキーで発射、 q で終了です。

イメージとしては、

1. ひたすら無限にループを回す。
 ループのひと回りを最小の時間単位として考える。
2. キー入力があったら、それに合わせた処理を行う。移動、発射、終了
3. 移動しているものがある場合は、時間が経ったということで毎回移動の処理を行う。

って感じです。

当たり判定は、上記でいえば、弾の座標(tx,ty) が、
特定の位置(敵がいる位置)にきたら、「当たり」と判定して、
それに合わせた処理をします。

弾が1個しかないですが、オリジナルもそうだったはずなので、手を抜いてます。
本当は配列を使用するなどして、複数使えた方が面白くなるでしょう。

あと、移動時の範囲チェックとかをしてないので、このままだと、
自機が画面の端に来た時にエラーが出るはずです。
適当にチェックして、範囲内に収まるようにする必要があります。

N88-BASIC を使うというのは確かに手軽ではありますが、
ある程度本格的にゲームプログラミングをしたいということであれば、
・言語の仕様が古すぎる
 (プログラムの管理が大変。また、へんな癖がつきやすい)
・ハードウェアの機能がそこそこしかない
 (グラフィックの描画機能が弱いので、
  それなりに工夫しないと見栄えよくならなかったりする)
・現在主流となっている機種では動かない
 (AT 互換機だと、エミュレーションでしか動かないのでひどく遅くなる)
なので、そのうちに不満がでてくると思いますよ。
    • good
    • 1

n88の場合に.「敵」の所在を


n*m次元配列を作って配列情報から作画する場合(グラフィックを使う場合が多いが.n88使用可能機種の場合に.グラフィックメモリーがない場合=機種依存の対応が面倒)

直接V-ramにデータを送って作画する場合(キャラを使う場合が多い)
の2通りがあります。どちらでしょうか

n88ではz-80ですよね(8801ですよね)。88のioを覚えていない(1回も作らなかった)ので.ioポート(キーボードマトリックスを直接操作)は答えられません。n88-98での答になりますが良いでしょうか。
    • good
    • 0

「シューティングゲームを作る」


これだけで本1冊書けるくらいですから、簡単に。

1)自機移動は、INPやINKEY$でキーを読み取り、
 それにより自機の表示座標を変えれば良いのです。
 弾発射のキーが押されたら弾を出す。

2)弾の当たり判定は、弾の表示位置に何かあったら当たりとするわけで、
 
キー入力判定->自機移動->敵移動->自機弾移動->敵弾移動->自機の弾が敵ったか当たり判定->
敵の弾が自機に当たったか判定->キー入力に戻る
こんな感じでしょう。
    • good
    • 0

なぜN88BASICを使用するのでしょうか


Delphi6Personal,C-Builder,J-Builder,Bisual-Baisc,の本にゲームの
作り方が出ていると思います。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q一人でも楽しめる、無料、育成要素が強いというゲームを探しています。

一人でも楽しめる、無料、育成要素が強いというゲームを探しています。
知らない人とチャットしながら…というのが苦手でして。
そんな自分でもやりこめるようなゲームを探しています。
個人的に現在アイスペース(http://ai-sp.jp/)が気にいってるのですが。
もうひとつぐらい見つけたいなぁと探しています。

ジャンルはシミュレーションというか、その世界でコツコツできるタイプが好きです。
自分なりにいろいろ検索してみましたが、なかなかコレというものが見つからなかったので。
よろしければご教示お願いいたします!

Aベストアンサー

RPGですが、ソロプレイ可能って事なので。

[参考]グランディア オンライン|オンラインゲーム 《公式サイト》 ソロプレイオンラインRPG
http://grandiaonline.jp/

QHSP 耐久力のある敵

こんにちは。HSPでSTGを制作しております

そこで「耐久力のある敵」を作ったのですが
【敵と敵2のヒットが一緒になってしまうので、敵と敵2が同時に消えてしまいます】
原因は「敵と敵2」を一緒にしていることなんですが、
一緒にしないとこの先ソースが大きくなってしまうため一緒にするしかないと思ってます


この場合選択肢がいくつかあると思います
1:敵を一緒にまとめたソース(これ)で解決する
2:敵を一緒にまとめる方法を変えて改善するか
3:当たった時の処理を変えるか

1を選択しなんとかしたいのですが、何かもっとよい方法がありましたら教えてください
それではよろしくお願いします
 -- ソース --
screen 0,380,450

buffer 1
//picload "自機.bmp"
gsel 0,1

buffer 3
//picload "でかい妖精2.bmp"
gsel 0

myx = 150 : myy = 350;自機座標
mySpd = 4;自機スピード

;←自機弾
TMMAX = 100
dim SHOT,100
dim SX,100 : dim SY,100

;妖精
DKMAX = 2
repeat DKMAX
DK_ene(DTK) = 0
DK_enex(DTK) = 0 : DK_eney(DTK) = 0
DTK++
loop
;****************メインループ*************************
*メイン
redraw 2 : color 20,20,20 : boxf
;****************カウンター*************************
color 255,0,0
pos 10,90 : mes "←敵カウンター " + HIT
pos 10,110 : mes "→敵カウンター " + HIT2
;****************************************************
gosub *弾移動
gosub *自機移動
gosub *妖精
gosub *敵VS弾

;自機
pos myx,myy : gmode 4,29,42,255 : gcopy 1,1,0

;妖精
DTK = 0
repeat DKMAX
if DK_ene(DTK) = 1 : pos DK_enex(DTK),DK_eney(DTK) : gmode 4,58,45,255 : gcopy 3,0,0
DTK++
loop

;自機弾
repeat TMMAX
if SHOT(cnt) = 1{
pos SX(cnt),SY(cnt) : gmode 2,9,8,255 : gcopy 1,1,43
}loop

redraw : await 15
goto *メイン
;**************自機の移動*******************************
*自機移動
stick key,15
if key & 1 : myx = myx - mySpd
if key & 2 : myy = myy - mySpd
if key & 4 : myx = myx + mySpd
if key & 8 : myy = myy + mySpd
return
;****************弾の移動******************************
*弾移動
getkey keyZ,90;Zキー
repeat TMMAX
if (keyZ) and SHOT(cnt) = 0 and rensya = 0 {
SHOT(cnt) = 1 : SX(cnt) = myx + 10 : SY(cnt) = myy - 10 : rensya = 500
}

if SHOT(cnt) = 1 : SY(cnt) -= 10
if SY(cnt) < 0 : SHOT(cnt) = 0
if rensya > 0 : rensya -= 1
loop
return
;****************妖精*****************************
*妖精
;敵X座高
DK_ENX(0) = 100
DK_ENX(1) = 200

;位置
DTK = 0
repeat DKMAX
 if DK_ene(DTK) = 0 : DK_ene(DTK) = 1 : DK_enex(DTK) = DK_ENX(DTK) : DK_eney(DTK) = 150
DTK++
loop
return

こんにちは。HSPでSTGを制作しております

そこで「耐久力のある敵」を作ったのですが
【敵と敵2のヒットが一緒になってしまうので、敵と敵2が同時に消えてしまいます】
原因は「敵と敵2」を一緒にしていることなんですが、
一緒にしないとこの先ソースが大きくなってしまうため一緒にするしかないと思ってます


この場合選択肢がいくつかあると思います
1:敵を一緒にまとめたソース(これ)で解決する
2:敵を一緒にまとめる方法を変えて改善するか
3:当たった時の処理を変えるか

1を選択しなん...続きを読む

Aベストアンサー

どんな手段使ったところで、各機毎にダメージ管理する必要があるでしょう。
今、HITを使っているところを(たぶん、これで管理しているように思います)、DK_eneh(DTK)みたいにして、他のDK_ene?と一緒に管理すればできるはずです。
ソースもそんなに大きくならないと思うのですが。

Q一人でやるフリーゲーム

親父が出張先の中国で暇つぶしの為にやりたいらしいのですが
一人で出来るフリーソフトのゲームを教えてください。
どうもオンラインは毛嫌いかめんどくさいのかは分かりませんがやろうとはしません。
どうかこんな親父に出来るゲームを教えてください。
出来ればメジャーどころで個人で作ったようなゲームでないものが好ましいです。一人用のハンゲームみたいなところがあればいいのですが(ここが難しいのですが・・・。)あと種類ですがオセロとかトランプとかマージャンとかマージャンとかこの辺のかんたんなところでお願いします。

Aベストアンサー

Windowsにプリインストールの「マインスイーパ」はどうでしょう?
けっこう空きが来ず、はまりますよ。

Qゲームデザイナーとゲームプログラマーになるためには

はじめまして。私は将来ゲームに関わる仕事をしていきたいのですが、ゲームデザイナーになるのとゲームプログラマーになるのとは進路が全く違うんですか?私は漠然と”ゲーム製作に関わりたい”という気持ちがあるだけで、ゲーム政策のどの分野をやりたいのかを決めていないんです。今は高校二年生ですが、今のうちから考えておかないとダメでしょうか?

Aベストアンサー

  友達が、フリーのゲームデザイナーをやっています。
 その友達は専門学校を卒業後、バクチェカーなどをしながら、ゲーム会社に企画書を持ち込むという生活を送っています。

 聞いた話では、最初は志望部署に関係なくゲームやコンピュータープログラムの基礎的な知識を教えられるようです。

 やはり、デザイナーになるにしろ、プログラマーになるにしろ最低限の知識は共通だと思います。
 「デザイナーは様々な知識を広く」「プログラマーは専門知識を深く」理解する事が必要だと言ってました。

 進路は専門学校に行くのが、一番有効だと言っていました。
 
 高校二年生なら、進路について考え始める時期です。
 「どのような学校で、どのような知識が学べるのか」「ゲーム制作にはどのような部署があるのか」などの情報を集めるのには、ちょうどいい時期だと思います。
 情報収集は早く始めて損はありませんからね。また、遅くなればなる程、不利になります。

 一度、学校にある進路指導室を訪ねてみてはどうでしょうか?
 ゲーム業界は誕生して歴史が浅いので、資料が揃っているかは疑問です。
 しかし、志望が決まっている学生なら進路指導の先生もアドバイスがしやすいと思います。
 高校二年で志望が固まっている人はまだ、少ないでしょうから。

 『趣味を仕事にするのは、相当の覚悟が必要』と友人が言っていたのを、付け加えておきます。

 ゲーム業界に就職できるといいですね(^^)

  友達が、フリーのゲームデザイナーをやっています。
 その友達は専門学校を卒業後、バクチェカーなどをしながら、ゲーム会社に企画書を持ち込むという生活を送っています。

 聞いた話では、最初は志望部署に関係なくゲームやコンピュータープログラムの基礎的な知識を教えられるようです。

 やはり、デザイナーになるにしろ、プログラマーになるにしろ最低限の知識は共通だと思います。
 「デザイナーは様々な知識を広く」「プログラマーは専門知識を深く」理解する事が必要だと言ってました。

...続きを読む

Q携帯用マージャンゲーム

お世話になります。年老いた母なのですが、20年ほど前に購入したゲームウォッチのちょっと大きいタイプのマージャンゲームを愛用しています。今それが壊れかけ、新しい物をと探しているのですが、もちろん昔のものは製造中止で、ゲームボーイは小さすぎるしTVを使うものはダメ・・・、そんな母にかわりのマージャンゲームはありますでしょうか。

少し大きくても携帯できるもの
電池式のもの
音を消せるもの
一人用(ゲーム機が対戦相手)

以上のような条件です。よろしくお願いいたします。

Aベストアンサー

はじめまして、携帯用の麻雀ゲームとの事ですが、
「ゲームボーイは小さすぎるし・・・」ということで探してみました。
質問者様の探しているのはこれ↓↓ですね。
http://www.bandai.co.jp/releases/J2002061401.html
でも、これは2002年のプレスリリースなので
今でも在庫があるかは微妙ですね、メーカーに問い合わせてみたほうが、よろしいかと思います。

http://www.watch.impress.co.jp/GAME/DOCS/20020711/toy73.htm
↑↑の記事にも書かれているように、
私も昨年(?)くらいに東急ハンズにこれがあったのを見たことがあります。

Q一般的な市販PCゲーム(美少女ゲームや、ビジュアルノベル、いわゆるエロ

一般的な市販PCゲーム(美少女ゲームや、ビジュアルノベル、いわゆるエロゲなど)で使われているプログラミング言語ってなんなのでしょうか?
一応調べてはみたのですが、同人ゲームだったりツクールだったりと欲しい情報がみるかりません。
使いようによってはどの言語でも作れはしそうですが、どうにもつかみ切れません;;
また軽量化のためdllなどの知識も必要なので、参考となるサイトや必要なウェアなども教えていただけると幸いです。

Aベストアンサー

シナリオなんかをスクリプトに書いておく, いわゆる「ゲームエンジン」を使うことも多いんですけどね.
「吉里吉里」あたりは有名でしょう. でもそれだとおもしろくないので, 参考には別のものを挙げてみよう.

参考URL:http://cs2.suki.jp/

Qマージャン・ソリティア?のようなゲーム

ヤフーには「マージャン・ソリティア」というゲームがあります。
結構ハマっているのですがオフランでもゲームがしたいです。
ヤフーはオフライン無理なのでこれと同じようなゲームソフトを探しています。
たぶん有料になってしまうかと思うのですがそれでもかまいません。
どうぞよろしくお願いします。

Aベストアンサー

上海というゲームです。
廉価版ゲームのコーナーでよく見かけます。探せばフリーソフトもあるかもしれません。
よく似たゲームで平面版ですが「二角取り」というのもあります。

Qunity3dというゲームエンジンがありますが、これで成人向けゲームを

unity3dというゲームエンジンがありますが、これで成人向けゲームを作ることはライセンス的に可能ですか?
英語に弱くて分かりません・・・

http://unity3d.com/

Aベストアンサー

その事については書かれていないので大丈夫だと思いますが、Free版は商用利用不可ですのでご注意ください。フリーソフト以外は作れません。

Qツーカーでできるマージャンゲーム

始めまして、大学一回生のgocho_kusuです。

ところで、僕の携帯機種はツーカーなんですが、
オフラインでできるマージャンゲームのDLの仕方を教えて下さい。

あらかたゲームカテゴリは探したつもりなんですが。

Aベストアンサー

TU-KAの携帯電話はjavaに対応していないのでDLできるアプリと言うのは存在しないかと。
プリインストールで入っていると言うのも聞いた事がありませんし。

携帯でゲームをしたいのならば、ドコモ・AU・ボーダフォンの購入をお勧めします。

Qゲーム制作で、壁にぶち当たってます。 ゲームエンジンは、Unityを使ってます。 言語の理解度は、C

ゲーム制作で、壁にぶち当たってます。
ゲームエンジンは、Unityを使ってます。
言語の理解度は、C♯とJava(Androidスタジオを使うつもりでもあったので。。)の入門書を理解した程度です。
また、Unityの入門書で、サンプルゲームを作成して基本的な操作も学びました。
具体的には、既成アセットを用いたオブジェクトやテクスチャの配置等、既成スクリプトによるゲーム作成です。
そこで、ぶち当たってる壁を書いてみます。いざ、自分で考えてゲームを作成しようとすると、以下の事が問題となり全く進みません。(まずは、単純なマップに主人公が居て、スライムが無限生成され主人公に向かってきてそれをオートで主人公が切り倒して、お金と経験値を得て、宝箱からアイテムを得る。そんなRPGのゲームの一場面を作りたいです。)
①アセットキャラの使い方。
入門書では、配置するだけで動くキャラを設定できたのですが、例えば、「スペースキーで攻撃」をしたい場合、おそらく「スペースキーで攻撃するスクリプト」と「攻撃するアニメーション」が必要で、「攻撃するアニメーション」が作れない。また、アニメーションの設定がわからない。
②スクリプトが書けない。
入門書では、書いてあるスクリプトの意味は理解できます。
でも、いざ自分で書くとなると、
どのクラスのどのメソッドを書けば良いのかがわからない。よく、入門書では「この動きをしたいときは、このクラスのこのメソッドを用いて引数にこれを渡せばオケ」とか書いてて、教えてくれれば意味は理解は出来るんですが、そもそも知識が無いと「このクラスのこのメソッド」が浮かんでこない。
③英語の壁
高校で偏差値60程度の、普通の学生よりちょっとマシなレベルだと、解説を読んでも分かりかねる。。。

以上のような壁で、出来そうで出来ない焦燥感があってイライラしてます。
①については今日また検索するなり試すなりして、もう少し前進させようと思うのですが、②が大きな壁に感じます。
おそらく、リファレンスなる物の使い方が全くショボいのが原因なのでしょうけど。何せ混乱してます。
ここから、スキルアップしていくには、どういう手順で学べばいいのか、何というか、方向性が見えなくなってしまいました。

ゲーム制作で、壁にぶち当たってます。
ゲームエンジンは、Unityを使ってます。
言語の理解度は、C♯とJava(Androidスタジオを使うつもりでもあったので。。)の入門書を理解した程度です。
また、Unityの入門書で、サンプルゲームを作成して基本的な操作も学びました。
具体的には、既成アセットを用いたオブジェクトやテクスチャの配置等、既成スクリプトによるゲーム作成です。
そこで、ぶち当たってる壁を書いてみます。いざ、自分で考えてゲームを作成しようとすると、以下の事が問題となり全く進みません。...続きを読む

Aベストアンサー

こんにちは。
簡単に一読させていただきましたが、まず、いきなりアニメーションやデータの整理やら考えだすと大変です。ゲームもプログラミングもまずはシンプルに物事を考えることが大切です。
いろいろとやりたいことがあるみたいですし、細かくステップを踏んでいけばOKです。

以下、2Dゲームで360度歩けるというゲームのベースを適当に作ってみるサンプルです。作法を追うのではなく、なぜそうするのかという考え方を追ってみてください:

まず、フィールドがあって、キャラクターが歩くという部分。
ここから作るとしましょう。フィールドもキャラクターもとりあえずGameObjectを作って、中にSprite2Dを配置すれば、とりあえずステージの完成ですね。
キャラの方のGameObjectは、Playerという名前にして、画像のOrderInLayerを1にしておきましょう。オーダーが同じだとちらつくので。

キャラクターを歩かせるためには、誰かが入力を監視して、誰かがそれを反映させないといけないですよね?
とりあえず、GameObjectでも作ってPlayerManagerという名前にリネーム、更に、PlayerManagerという名前のクラス(以降クラスはすべてMonoBehaviourを継承してくださいね)を作って、コンポーネントをアタッチしてください。

キャラクターを歩かせるには、動かす対象のオブジェクトがどれかわからないとダメですよね? なので、PlayerManagerに、public GameObject player = null; として、エディタ上で参照を渡せるようにしましょう。とりあえずビルドして、さっき作ったPlayerオブジェクトを、PlayerManagerのインスペクタから設定してください。

次に、まあ移動速は考えないで、毎フレーム入力チェックして、その方向に動かしてみましょう。
さて、アクティブなオブジェクトにアタッチされたコンポーネントは、初回1フレーム目前にStart、その後毎フレームUpdateが呼び出されることになっています。
ということで、void Updateを追加して、下記のようにすれば動くのではないでしょうか。

void Update () {
float dx = 0.0f;
float dy = 0.0f;
if (Input.GetKey(KeyCode.UpArrow)) {
dy = 0.1f;
}
if (Input.GetKey(KeyCode.DownArrow)){
dy = -0.1f;
}
if (Input.GetKey(KeyCode.RightArrow)){
dx = 0.1f;
}
if (Input.GetKey(KeyCode.LeftArrow)){
dx = -0.1f;
}
player.transform.position = new Vector3 (player.transform.position.x + dx, player.transform.position.y + dy, player.transform.position.z );
}

さて、キャラクターが動いたところで、そろそろ敵を配置してみましょう。
ところで、敵は任意の数がたくさん出てくるのですよね。そういう時は、敵オブジェクトをprefabにして、複製できるように作ると良さそうです。
さて、敵と味方ができたので、そろそろ仕切り役が必要そうですね。新しいクラス、GameManagerを作って、GameObjectをシーンに作ってGameManagerとリネームして、アタッチしてみましょう。

更に、GameManagerにはとりあえず以下のようにプロパティを設定してみます。
public GameObject enemyObject;
protected List<GameObject> enemies = new List<GameObject>();
(Listでエラーが出たら、using System.Collections.Genericを追加)

シーン内に、Enemyという名前のGameObjectを作って、中に敵の画像をつっこみましょう。(OrderInLayerを2にすることを忘れずに)ついでに、Enemyという名前のクラスを作り、アタッチします。
そのまま、EnemyをProjectウィンドウにドラッグアンドドロップし、prefabを作ります。prefabはオブジェクトのいわば設計図、ブループリント。これをGameManagerで後で生産します。

シーンのほうに戻ったら、GameManagerをインスペクタで表示して、enemyObjectに、Enemyのprefabを入れましょう。

あとはGameManagerのスクリプトを開いて、
void spawnEnemy(){
GameObject eo = Instantiate( enemyObject ) as GameObject;//実体化
eo.transform.position = new Vector3( Random.Range(-10f,10f), Random.Range(-10f,10f), 0 );//ランダムな位置に
enemies.Add(eo);
}
というものを追加します。あとは、GameManagerのStartで、
void Start(){
for(var i=0; i<10; i++) spawnEnemy();
}
とすれば、敵が10匹ランダムで出てくるようになるでしょう。

じゃあ、次は敵を動かしましょう。とりあえず、ランダムに動きまわってもらいます。
Enemyクラスを開いて、Updateを下記のようにしてみます。

void Update () {
float dx = Mathf.Sign( Random.Range (-1.0f, 1.0f) )*0.1f;
float dy = Mathf.Sign( Random.Range (-1.0f, 1.0f) )*0.1f;
transform.position = new Vector3 ( transform.position.x + dx, transform.position.y + dy );
}

さて、カサカサして相当気持ち悪い画面になったかと思います。
ハンズオンはここまでにしておきましょう。

このあと、位置からキャラの当たり判定をとったり、あたったらダメージを受けるようにしてみる、そのためにHPを追加したり、攻撃をできるようにして、攻撃範囲に敵がいたらHPを削るようにする、敵のスポーンをもっと複雑にする…とかまあいろいろとやることはあるかと思いますが…

基本的には、GameObjectを置く、prefab化すること、スクリプトをコンポーネントとしてアタッチして挙動を書いていくというのが一連の作成の流れです。
なぜ、ここでGameObjectを作ったのか、なぜここでクラスを作ったのか、一つづつご理解されるとよいのではと思います。

まずは、いろいろと遊んでみて、何ができるのか何ができないのかを知ってください。
与えられた機能を組み合わせれば必ずゴールに辿り着くことができます。
上記スクリプトを作成するにも検索を使いましたが、「キー入力 Unity」「Unity prefab 複製」「Instantiate Unity」みたいに検索するといろいろと情報が出てきますよ(日本語で)

個人的には、GameObjectでできることをリファレンスを見て知っていくのが最初の一歩かと思います。Unityは難しいことを考えず、とりあえずGameObjectやSpriteを置いて、必要なら参照を作ったり、prefabを作ったりして、あとはStartやUpdateにメインのロジックを書いていけば良いのです。
キッチリした開発、設計はもっとあとからでも良いので、まずは習作をたくさん作って感覚を掴んでください。

ゲームシステムを解説している書籍はかなり少ないと思います。
良書としては
http://www.amazon.co.jp/dp/4798021180
この辺りなんですが、この本で解説している部分の殆どをUnityが吸収しているし、もう少しプログラムに慣れてからでも良いのかもしれません。

補足で、アニメーションですが、おそらくメカニムか何かになっているのではないでしょうか?多分、設定されたトグル用プロパティに値を放り込めば、ステートが変わるはずです。その辺のキーワードで調べていってみてはいかがでしょうか。

他回答でも言った気がしますが、ぜひ頑張ってくださいね。

こんにちは。
簡単に一読させていただきましたが、まず、いきなりアニメーションやデータの整理やら考えだすと大変です。ゲームもプログラミングもまずはシンプルに物事を考えることが大切です。
いろいろとやりたいことがあるみたいですし、細かくステップを踏んでいけばOKです。

以下、2Dゲームで360度歩けるというゲームのベースを適当に作ってみるサンプルです。作法を追うのではなく、なぜそうするのかという考え方を追ってみてください:

まず、フィールドがあって、キャラクターが歩くという部分。
ここ...続きを読む


人気Q&Aランキング