HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0805
ダイコン2Dの障害物の作り方がわからない…64解決


ダイコン

リンク

2009/8/5(Wed) 23:13:08|NO.26792

いろいろな本を読んだりサイトを見たりしているんですが
全然分からなくて一向に理解できません

今RPGのゲームを作りたいと思っているんですけど
まったく分かりません
分かりやすいサイトを教えてくれる人や解説してくれる人教えてください。



この記事に返信する


足利超神

リンク

2009/8/5(Wed) 23:21:30|NO.26794

hspdxfixとか使えば楽ですよ^^



Ve

リンク

2009/8/5(Wed) 23:22:19|NO.26795

ぼくは白黒の画像を別に読み込み、マップと同じように別のバッファに描画して
キャラクターの一部が重なったかどうか判断させて、通れるor通れないの判定をしています。



cd

リンク

2009/8/6(Thu) 00:04:36|NO.26799

え〜と、率直に言いますが。

もし今までプログラミングの経験がなく、単にRPGを作りたくてHSPをやってるなら
「RPGツクール」とかを使った方が、断然理解しやすいですし開発効率が良いです。

あぁもしダイコンさんが、HSPにある程度経験を積んでいる方でしたらすいません。
素直に謝ります。



ダイコン

リンク

2009/8/6(Thu) 00:17:28|NO.26802

足利超神さん
hspdxfixってのを検索してみたんですけどよく分かりませんでした。
具体的にどのようなものなのでしょうか?
初心者ですいません

Veさん
自分の友達がそれをやってるのを見たことはありますが詳しくは分かりません
よろしければもう少し詳しく教えてください

cdさん
自分は高校生でパソコン系の部活をしています
それで次の文化祭で作品を出さないといけないのでRPGツクールだと
ちょっと作品としてはどうかと思うのと
HSPコンテストにも出したいのでHSPで作ろうと思いますので
HSPでやりたいんです
せっかく教えていただいたのに申し訳ございません



ANTARES

リンク

2009/8/6(Thu) 00:51:35|NO.26804

 次の文化祭っていつですか?
この秋ならHSPかRPGかどちらかを諦めましょう。
RPGを諦める方がおすすめです。

 RPGをとるなら、シナリオが半月でできて、どんなにいいアイデアを
思いついても新しい要素は追加しない覚悟があるなら何とかなるかも。
半月でRPGツクールをマスターして製造が2ヶ月くらいかな。

RPGツクールはエンターブレインから発売されているツールです。
http://tkool.jp/



ダイコン

リンク

2009/8/6(Thu) 01:36:35|NO.26805

ANTARESさん
文化祭は九月の中旬です
時間はありません
しかし内容はほんの十分くらいで出来るくらいのが作りたいんです
その内容もほとんど考えてあります
大それたものは作るつもりはありません
でもはっきり言ってそれでも無理ならば諦めます
作るとしたら何がいいですかね?



Ve

リンク

2009/8/6(Thu) 09:13:31|NO.26806

RPGは色んなパートがあるので短期で作るには、
それなりの技術とゲームシステムをコンパクトに抑えて作るようになるので、
話を聞く限りでは別のジャンルを作ったほうが良いかもしれない。

ゲームで言えば、シューティングゲームみたいなジャンルが作りやすいかな。

もしくは3.2から同梱の2Dの物理エンジン「OBAQ」をつかうと、
知らない人から見れば凄いと言わせられる(?)かも。

OBAQはソースつきのサンプルがあるので、どんなものか起動してみてください。



あり

リンク

2009/8/6(Thu) 11:40:14|NO.26807

1ヶ月もあれば
http://www005.upp.so-net.ne.jp/h-masuda/hsp30/index.html
http://www.geocities.jp/hspgame2/
上記のHPを参考にすれば要求されるレベルの物は
作れるようになると思いますよ。
短気を起こさずに『最初からきちんと』勉強すれば
必要な情報はほとんど揃っている筈ですので。
(あと必要な情報は音楽関係ぐらいです)

あと、蛇足だとは思いますがRPGの記事だけ読んでも駄目ですよ。
サンプル以上の事をしようとした時に必ず他の記事の内容が
役にたちますから。



リンク

2009/8/6(Thu) 11:52:19|NO.26808

配列変数を使った当たり判定のサンプルを書いてみました。
コメント多めです^^;


; マップの配列 (1が障害物) dim map, 5, 5 map(0, 0) = 1,1,1,1,1 map(0, 1) = 0,0,0,0,1 map(0, 2) = 1,1,1,0,1 map(0, 3) = 1,0,0,0,1 map(0, 4) = 1,1,1,0,1 ; プレイヤーの map 配列上の初期座標 player_x = 1 player_y = 3 ; マップチップの画像を作る 大きさ 32 * 32 ; (map配列の 0 の位置はスペース : 1 は □) buffer 1, 128, 32 font msgothic, 32 mes " □" screen 0, 160, 160 font msgothic, 32 *map_main ; 移動量をリセット ax = 0 : ay = 0 ; キー入力と移動の処理 (まずは移動量を決定します) stick key, 15 if key & 1 : ax = -1 if key & 2 : ay = -1 if key & 4 : ax = 1 if key & 8 : ay = 1 ; 移動先(今の座標 + 移動量)の座標の内容が障害物ではない場合 if map(player_x + ax, player_y + ay) == 0 { ; プレイヤーの座標を加算 player_x += ax player_y += ay } ; ココからマップの描画 redraw 0 repeat 5 x = cnt repeat 5 y = cnt pos 32 * x, 32 * y gcopy 1, 32 * map(x, y), 0, 32, 32 loop loop ; プレイヤーを描画 pos 32 * player_x, 32 * player_y mes "●" redraw 1 await 64 goto *map_main

頭の隅にでも置いておいてほしいことをひとつ。
RPGはどうしても制作時間・プレイ時間が長くなりがちなんですよね。
特に文化祭、お客さんの方も手軽にサラッと遊びたいはずですから、
規模はほんっとに小さいものがいいと思います。

作るとしたら……
プレイヤー1人、マップ3つ、ザコ敵5、ボス1、
武器2つ、防具2つ、回復アイテム2つ、
お店なし、会話なし、もう街なし、ダンジョンだけ、バトルは1vs1
アイテム拾いながらひたすらボスを目指す……

自分が他の学校の文化祭に行って、
「このゲームやっみて!」と言われたとき、
まぁ、このくらいなら時間かかりすぎ無くていいかな
って思える程度がいいと思います。
規模が小さい方が、作業量も少なくて済みますしね!

アドバイスとしては、ANTARESさんの言うように、なにかアイデアを思いついても
できる限り仕様の変更はガマンすること……ですかね。
一度流れを覚えると、自分のスキルアップが楽しくて
ついついレベルの高い仕様に変更しちゃって、
結局時間が無くなってしまう……っていうことがあります。


ともあれ、今の段階で2次元配列と2重ループの使い方がわかっていれば、
それと、贅沢な仕様にしなければ、1か月くらいでも何とかなると思います。
あと、デバッグっていう作業があることもお忘れなく……。

長文失礼しました。健闘を祈ります^^



ダイコン

リンク

2009/8/6(Thu) 12:05:23|NO.26809

Veさん
自分は3.2は持ってませんすいません

ありさん
それを理解するにはどのくらい時間がかかりますかね?
はっきり言って時間も無いですし、もう三年生なんです
二年間、先輩にほとんど任せっきりでほとんど何にもHSPの勉強してなくて
三年生になってあたふたしてる感じです
最初の最初くらいは分かりますが全部やるにはちょっと時間が無いですよね?

光さん
ありがとうございます!!
とりあえずそれで試してみようと思います!!



SYAM

リンク

2009/8/6(Thu) 12:33:33|NO.26811

>最初の最初くらいは分かりますが全部やるにはちょっと時間が無いですよね

現状のダイコンさんがどの程度のスキル、およびどの程度の理解力とか素質とかをもっているのかわからないので保証まではしませんが、

 で き ま す。

一ヶ月もあれば、非常に簡単なものにはなるでしょうが、できます。

ただし、勉強は必須 です。
そして勉強したことを応用できるようになることも必要です。つまり、勉強したことは意味までしっかり理解しないといけないということです。
その点では、ふつうの語学と一緒です。単語や文法を理解していないと、自分で文を作れるようにはならないでしょう。

しかし英語などの自然言語と比べて、スクリプト言語は文法自体は非常に単純です。
単語も(自然言語と比べれば)はるかに少ないですし、ヘルプを見ながらでもできます。
ですから、1ヶ月もあれば確かに、で き ま す。


#超どうでもいいことですが RPGの"G"は"Game"の"G"です。「RPGのゲーム」っていう言い回しはちょっとばかり不自然ですね。



ダイコン

リンク

2009/8/6(Thu) 12:41:34|NO.26813

SYAMさん
本当ですか!?
では勉強してみます!!

※後RPGの奴は癖みたいなもんです><
前にも先輩に言われました。



SYAM

リンク

2009/8/6(Thu) 13:03:50|NO.26817

たとえば、ですが

普段使わない言語(たとえば英語とか?)で、
その言語しか解らない、しかもゲーム自体について予備知識まったくゼロな人に、
作ろうとしているゲームの仕様を具体的、且つ、事細かに説明してわかってもらう

…ということを、辞書片手に1ヶ月でできるなら、きっとできるでしょう。
1ヶ月って結構あります。できます?



ダイコン

リンク

2009/8/6(Thu) 13:10:47|NO.26818

SYAMさん
心配してくれてありがとうございます
大丈夫です…っと言いたいですがそう言われると
飽き性の俺では出来そうに無いかもしれません。
まぁでもまったく持って知識がゼロではありません
光さんのソースも五割以上は理解してるつもりです



cd

リンク

2009/8/6(Thu) 15:09:38|NO.26824

>自分は高校生でパソコン系の部活をしています
>それで次の文化祭で作品を出さないといけないのでRPGツクールだと
>ちょっと作品としてはどうかと思うのと
>HSPコンテストにも出したいのでHSPで作ろうと思いますので
>HSPでやりたいんです

そうですか。失礼しました。

とりあえず、制作頑張ってください。
そちらの文化祭の雰囲気は分かりませんが、最悪「こんなゲームを製作中です!」っていう
状態でも十分に思えます。
完成品を飾るのがベストですが、「画像は開発中の物です」風も良いと思います。



ダイコン

リンク

2009/8/6(Thu) 16:47:31|NO.26828

cdさん
文化祭は各部活がそれぞれの場所でやり
運動部は食べ物系を文化部は作品などを展示 発表する感じです
なので最後の三年生で曲がりなりにも部長なのでそれはどうかと思います…
せめて出来上がった作品にしたいです。



ダイコン

リンク

2009/8/6(Thu) 17:00:18|NO.26829

光さん
貰ったサンプルを理解しようと思ってやっていましたが
やっぱりマップのloopの所が理解できません
本でもそこが一番分かりにくかったんです

バカみたいな質問ですいません



Ve

リンク

2009/8/6(Thu) 17:14:50|NO.26830

開発環境は?開発場所とか製作人数とか製作時間とかどうなってますか?

学校のコンピュータ室での製作なのか自宅での製作なのか
部員何人で作るのか、日に何時間製作とか…。

環境によっては完成度の高いミニゲームなんかを目指したほうがいいかも…。


あと、HSP3.2はダウンロードして手に入れれば良いだけです。



ダイコン

リンク

2009/8/6(Thu) 17:22:09|NO.26832

Veさん
人数ほぼ一人
時間一ヶ月とちょっと
作成場所は自宅でも学校でも
製作時間は日によるというか気分しだいで二時間から五時間くらいです

後ダウンロードについては今さっき知りました
本についてるのだけだと思っていましたので



夢現因果

リンク

2009/8/6(Thu) 20:06:46|NO.26835

初めまして

今まで参考にしてきた本を教えてもらってもよろしいでしょうか?

後HSPにはヘルプ機能がついています
命令でわからない事があれば参照してみて下さい
サンプルも豊富にありますので見てみてはいかがでしょうか


あとは文化祭についてなのですが配布なされるのでしょうか?
展示ならばRPGはジャンル的に相応しくない気もします



ダイコン

リンク

2009/8/6(Thu) 20:38:22|NO.26836

夢現因果さん
本は「12歳から始める〜」って奴です
こんな簡単そうな奴でも自分には分からなくて…

文化祭では配布は基本的にしません
しかし自分の目標としてはRPGが作りたかったんです
出来れば作りたいんです。
時間的、自分の能力的に無理なら諦めるつもりですけど
出来るだけ作りたいんです
内容も前にも書いたように短めで作るようにするつもりです



夢現因果

リンク

2009/8/6(Thu) 21:01:44|NO.26837

僕は2.6バージョンですがその本を持っています
とても良い本なのでそのまま勉強していけばいつかはできると思います

形だけでもなんとかしたい場合ならサンプルの改造が良いかと思いますがちゃんと学びたい場合にはおすすめできません

ちなみに何処がどうわからないのかを示された方が答えやすいかと思います


あとプログラム以外の部分(二次元配列等)は理解されていると思ってよろしいのでしょうか?



ダイコン

リンク

2009/8/6(Thu) 21:23:37|NO.26838

夢現因果さん
すいません、二次元配列などそういう専門用語?は勉強してません
流れでなんとなくこれはこういうことをする命令かとか
ここの奴はこんな感じかな?とか適当にしていますから
理解してるか分かりません。



夢現因果

リンク

2009/8/6(Thu) 22:25:05|NO.26841

すいません 少し勘違いしていました
二次元配列は数学かと思っていましたがプログラムの用語でした

ただ中身については本に書いてありますので理解しやすいかと思います



ダイコン

リンク

2009/8/6(Thu) 23:34:37|NO.26842

夢現因果さん
すいません本は今手元にありません(学校にある)から見ることが出来ませんが
とりあえず二次元配列は学んでいたほうがいいのですか?

数学の方はまぁまったく出来ないことは無いです
普通くらいには理解できるつもりです



ANTARES

リンク

2009/8/7(Fri) 04:44:58|NO.26843

>とりあえず二次元配列は学んでいたほうがいいのですか?
 マップは二次元配列で表現するので必須です。
といっても、そんなに難しくないので、長くてもまる1日あれば
理解できるでしょう。

 結局、最大の問題はできるかできないかやってみなければ
わからないというところにあります。

 1ヶ月半あるようなので、まず、万一のために、半月あれば
できそうなものを考えます。で、1ヶ月RPGをやって残り半月で
できるかどうか、結論を出します。できないという結論なら
万一の方を作ります

 「半月でできそうなもの」も本当に半月でできるかどうか
わからないので、こちらを先に作る方がいいかもしれません。
ジャンルとしてはアクションゲームがいいでしょう。
RPGと共通する部分が多いので、どちらを先にやっても
前にやった勉強が無駄になりません。



Ve

リンク

2009/8/7(Fri) 10:31:40|NO.26846

ぼくは1月末からRPG作ってるけど、まだ完成しないワン。


1ヶ月で作れるRPGを考えると…
(雑なイベント・演出を入れない
∨睨 Ε▲ぅ謄爐離轡好謄爐鯑れない・もしくは最低限に収める
3銅錺僖薀瓠璽燭鯊燭しない
っ膣屬覆
ヅ┐錬餌

と言う感じになるかな。
プログラム以外にも絵や音楽、効果音なんかの作業もあって色々作業量多め。


個人的な意見で言うと、完成度の高いミニゲームなんかを目指した方が文化祭向けのような気がするなぁ。
いきなりRPGはハードル高いと思う。



リンク

2009/8/7(Fri) 11:59:27|NO.26848

こんにちは。
「12歳から始める〜」の本があるなら、
「マップ型アクションゲームを作ろう」の頁を参考にすれば
どうにかなると思います。
多分2.6でも3.0でも同じはず。

無理っぽい時は、とりあえず
以下のプログラムたちを理解してあげてください。

; ◆ 九九を表示する 今は0は気にしない…! repeat 10 i = cnt repeat 10 pos 32 * i, 32 * cnt mes i * cnt loop loop ; ◆ 一次元の配列を順に表示 dim a, 4 a(0) = 3, 5, 2, 8 ; この代入の仕方も覚えておくと便利 repeat 4 mes a(cnt) loop ; ◆ 二次元の配列を表示 dim a, 4, 4 a(0, 0) = 1 : a(0, 1) = 1 a(1, 2) = 1 : a(2, 1) = 1 a(3, 3) = 1 repeat 4 pos 32 * cnt, 0 mes a(cnt, 0) mes a(cnt, 1) mes a(cnt, 2) mes a(cnt, 3) loop ; ◆ ↑のrepeat〜loop 改良版 repeat 4 i = cnt repeat 4 pos 32 * i, 32 * cnt mes a(i, cnt) loop loop
もし解決してるようでしたら、おせっかい失礼です(_ _)



ダイコン

リンク

2009/8/7(Fri) 15:17:06|NO.26851

ANTARESさん
アクションゲームの方が分かりやすいんですか?
なんかアクションゲームの方は難しそうだったから
RPGのが簡単かな?と思ってました
とりあえず一番RPG、二番アクションor etcって感じでいいですかね?
Veさん
音楽と効果音は前あったものを使いたいと思いますからそれはそれでいいんですが
もし無理でミニゲーム的な物を作るとしたらどんなジャンルがいいですかね?

光さん
まだほとんど見てませんがちょっと左上の方の文字がかぶってて
見づらいんですけどこれでいいんですか?



SYAM

リンク

2009/8/7(Fri) 16:02:00|NO.26855

おもいっきり大雑把にいうと、

アクションゲームは、算数の応用がメインです。
キャラクターの位置、位置関係、動き…などをひたすら計算します。(簡単なものなら数学でなく算数がほとんどです。)
で、条件によって点数を加えたりとかします。

RPGは、手続きやデータ管理がメインです。
キャラクターの位置、位置関係、動き…なんかを計算しつつ、
イベントなどの位置、状態、条件…などの変化を管理して、状況を進行させていきます。

プログラマーに聞いたら、9割以上が「RPGのほうがプログラムはややこしい」って言うと思います。多分。


逆に、
ダイコンさんが アクションゲームのほうが難しそうで RPGのほうが簡単そうだと思った理由はなんでしょう?
ちょっとそちらのほうに興味があります。



Ve

リンク

2009/8/7(Fri) 16:03:56|NO.26856

ミニゲームと言っても色んなのがあります。

判断力やタイミングや確率、操作能力や知識を問う…ミニゲームも色々あります。

自分が今作れる範囲で考えられるミニゲームを作ったほうがいいですかね。
余力があったら、次のミニゲームを作ってもいいし、新しい要素を追加してもいいですね。

ぼくはパワーの強弱をキー入力で決めて、結果成功か失敗かなんていうのを作ったり、
通過する敵を遠くから撃つゲームなんかを作りました。



ダイコン

リンク

2009/8/7(Fri) 16:17:46|NO.26858

SYAMさん
前、自分が二年のころ、卒業した先輩が来て
「アクションゲーム作ろうぜ!!」って言ってきまして
それを見てたんですけど
そのときは障害物の上にいると言う状況を作り出すのが難しいと言ってました
もうそれは解決したらしいんですけどそれを聞いていると
障害物の判定はRPGのが簡単じゃないかな?って思ったんですよ

Veさん
確かにその方がいいかもしれませんが
まだそういうの以外でなんか作れないかな?
って思ってたんですよ。
それは自分にとっては最後の手段です
もともとRPGとかが自分で作りたいと思って部活に入ったので



夢現因果

リンク

2009/8/7(Fri) 16:27:21|NO.26859

二次元配列はほぼ必須です
使わなくてもできますが手間がかかります
きっと覚える手間の方が遥かに軽く済むので2Dフィールドを使うのであれば覚えた方が良いと思います

ちなみにどんなRPGを作るつもりでしょうか?
もし2Dフィールドを必ず使うのであればANTARESさんの言うやり方が良いと思います

今のまま進めるのであれば
http://inganohate.hp.infoseek.co.jp/doteat.html
上記サイトのようなドットイートゲームから作ってみてはいかがでしょうか?
おおよそ5日もあればできると思います



ダイコン

リンク

2009/8/7(Fri) 16:53:39|NO.26860

光さん
すいません、少し勘違いしてました前の発言は無かったことにしてください



ダイコン

リンク

2009/8/7(Fri) 17:14:06|NO.26861

夢現因果さん
とりあえずそれを作れれば大体二次元配列は覚えたも同然なんですか?
やってみます



ANTARES

リンク

2009/8/8(Sat) 02:59:43|NO.26889

>とりあえずそれを作れれば大体二次元配列は覚えたも同然なんですか?
hsp\docs\hspprog.htm
2.スクリプト記述の基本
・配列変数
を読みましょう。



夢現因果

リンク

2009/8/8(Sat) 18:07:52|NO.26898

いえ上記のサイトはRPGを作ろうとするなら最低限これくらいは出来た方が良いというものです
まぁ二次元配列がどうゆうものかわかっていれば作りやすいと思います

ちなみにすごく簡単な説明
配列変数(一次元配列)=変数の集まり
二次元(多次元)配列=配列変数が二個(複数個)集まったもの



ダイコン

リンク

2009/8/8(Sat) 18:58:11|NO.26901

ANTARESさん
自分が持っている本を読めって事ですか?

夢現因果さん
それは光さんに教えてもらった奴の事ですか?
それは教えてもらったので理解できました。



さくっきー

リンク

2009/8/8(Sat) 19:36:55|NO.26904

2DのRPGで画像なし、音なしでいくなら
if else
repeat loop
goto stop や gosub return
getkey か stick
randomize rnd
redraw color
boxf circle line
pos mes
あと、二次元配列あたり使えりゃいいかなぁ
乱数や2D化を放棄するって手もあるけどw

何をどこまで理解してるのかわからないな
とりあえず、四角があって矢印キーを押すと動いていくだけのプログラムは書けるの?



ダイコン

リンク

2009/8/8(Sat) 22:41:45|NO.26910

さくっきーさん
>とりあえず、四角があって矢印キーを押すと動いていくだけのプログラムは書けるの?
それはさすがにできます
randomizeとrndとcircleは使ったことが無いので分かりません
loopは最近なんとなく分かってきました



ダイコン

リンク

2009/8/8(Sat) 23:23:46|NO.26913

さくっきーさん
randomizeはよく考えたら使ったことはありました
意味はちょっと分かってませんが



通りすがりC

リンク

2009/8/9(Sun) 01:22:39|NO.26919

とりあえず、HSPに付いてくるマニュアルをしっかり読みましょう。
エディタのヘルプから開けます。

それから、さくっきーさんも仰っている通り、貴方がどこまで出来るかが判断できません。
今の段階でどこまで出来ているのか、詳しく書いた方がいいと思いますよ。



ダイコン

リンク

2009/8/9(Sun) 01:56:35|NO.26922

通りすがりCさん
どのように説明すればいいんですか?
さっきも書いたようにカーソルキーでなにかしらを動かす事ぐらい出来ますよ
後はifでごちゃごちゃするくらいです



通りすがりC

リンク

2009/8/9(Sun) 02:42:46|NO.26924

どのように、と言われましても私達に分かるように、と言う他ありません。
自分の技量を示す方法が分からないのでしょうか?

今はRPGを作りたいんですよね?
ならどの程度まで出来たのかは少なくとも書くべきです。
ざっとしか見てないので見落としているかもしれませんが、
全く何も書いてない、ということはありませんよね?

それから、今までにどのような物を作ったのか、
ということもあると分かりやすいんじゃないでしょうか?

とりあえず2つ挙げましたが、他にも示せることがあれば示してください。
説明しようにも貴方がどの程度できるのか分からないと、説明できないのです。



ダイコン

リンク

2009/8/9(Sun) 03:13:48|NO.26925

通りすがりCさん
とりあえずタイミングゲーム的な感じなのは作ったことはあります
アクションゲーム、RPGの障害物が全然分からなくて、つまずいてる状況です
シューティングゲームはちょっと理解できます
微妙に当たり判定が分からないくらいです

これ以上は自分が説明力が無いです、すいません



KA

リンク

2009/8/9(Sun) 03:43:04|NO.26927

>>どのように説明すればいいんですか?
>>さっきも書いたようにカーソルキーでなにかしらを動かす事ぐらい出来ますよ

 取りあえず、カーソルで動かせる”何か”と障害物の”何か”が有るだけの単純なスク
リプトはできるのですね(障害物の判定は別として)。

 そのスクリプトを元に、当たりの判定やマップをどうすれば良いのか、質問する方が明
確な回答が得られると思いますが。



通りすがりC

リンク

2009/8/9(Sun) 03:45:22|NO.26928

それであれば、とりあえず基本的なことは覚えているようですね。
ならそろそろ光さんに書いて頂いたサンプルも理解出来るのでは?
これが理解できるようになっていれば、もうほとんど完成に近いと思いますが。



ANTARES

リンク

2009/8/9(Sun) 07:52:00|NO.26932

>自分が持っている本を読めって事ですか?
 こう書けばわかりますか?
HSPのあるフォルダのdocs\hspprog.htmの「2.スクリプト記述の基本」の
「・配列変数」を読みましょう。



ダイコン

リンク

2009/8/9(Sun) 10:24:18|NO.26935

KAさん
自分はさっき最初の方の光さんのスクリプトを自分なりにアレンジしようとしましたが
ちょっとわからない事があるんで

;マップ dim map, 9, 9 map(0, 0) = 1,1,1,1,1,1,1,1,1 map(0, 1) = 1,2,0,2,0,2,0,2,1 map(0, 2) = 1,0,0,0,0,0,0,0,1 map(0, 3) = 1,2,0,2,0,2,0,2,1 map(0, 4) = 1,0,0,0,0,0,0,0,1 map(0, 5) = 1,2,0,2,0,2,0,2,1 map(0, 6) = 1,0,0,0,0,0,0,0,1 map(0, 7) = 1,0,0,0,0,0,0,0,1 map(0, 8) = 1,1,1,1,1,1,1,1,1 ;プレイヤー初期位置 mx=1 my=7 ;壁 buffer 1,256,32 font msgothic,32 mes "■" ;アイテム buffer 2,256,32 font msgothic,32 mes "◎" screen 0,288,288 font msgothic,32 *main ax=0:ay=0 stick ky,15 if ky=1 :ax=-1 if ky=4 :ax=1 if ky=2 :ay=-1 if ky=8 :ay=1 if map(mx+ax,my+ay)=0 { mx=mx+ax my=my+ay } if map(mx+ax,my+ay)=2 { mx=mx+ax my=my+ay p=p+1 } redraw 0 repeat 5 x=cnt repeat 5 y= cnt pos 32*x,32*y gcopy 1,32*map(x,y),0,32,32 gcopy 2,32*map(x,y),0,32,32 loop loop color 255,255,255 :pos 32*mx,32*my :mes"○" redraw 1 await 64 goto *main
多分バカみたいな間違いですけど…

通りすがりCさん
一方向ならまだ少しは分かるんですが四方向になると分からなくなります


ANTARESさん
どこのことを言ってるのか分かりました
とりあえず読んでおきます



ORZ

リンク

2009/8/9(Sun) 10:42:54|NO.26936

これは
透明な自機が残像を残しつつ移動し、二重丸があった場合は飛び越えて行く謎のプログラムだな。

何処を直したらいいか教えてくださいとは書くなよ?問題点は全て列挙されている。
あとpは何だ。



ダイコン

リンク

2009/8/9(Sun) 11:22:56|NO.26938

ORZさん
二重丸はアイテムとしてます

>透明な自機が残像を残しつつ移動し
ってのがよく分かりません

pは得点になればいいなと思ってました

後、分からない問題が出されているからといって答えは分からなくないですか?
そうなると学校で先生という存在が否定されているようなものです。
生意気言っているようですがお願いします



ORZ

リンク

2009/8/9(Sun) 11:41:12|NO.26939

>後、分からない問題が出されているからといって答えは分からなくないですか?
全く意味がわからんが多感なお年頃という事だろうからもう少しヒントを出してやる。

・何故○が白で描かれているのか。○が自機なら黒で書いてみろ
・◎がアイテムだというなら、アイテムを取得した際の処理がどうなっているのか

に絞ってみろ。
これがウルトラ前衛的なプログラムで俺の理解と全く異なる理念のもと動いているならもう俺の手には負えないな。
普通教えてもらう時は、『これはナニがアレするプログラムですがココがソウなりません』と書くのが礼儀だ。気付け。先生達困ってる。
上で優しい先生達が再三にわたって醸し出している『RPGとかムズくて長くて期間内じゃ無理ス・・・』
という空気を無視して突撃するんだから擦過傷と努力は惜しむな。



ダイコン

リンク

2009/8/9(Sun) 12:10:51|NO.26944

ORZさん
すいません自機が白いのはあるboxfで背景を黒くした場合左上が白くなっていていたので
それで自機を分かりやすくするために白にしてました
で問題がなぜそこだけ白くなるようになっている命令になっているのかが分からないんです



Ve

リンク

2009/8/9(Sun) 12:13:21|NO.26945

うーん・・・技術力不足は否めない・・・。

世の中には気持ちや意地だけじゃどうにもならない事があります。



shinkun

リンク

2009/8/9(Sun) 12:15:39|NO.26946

光さんのスクリプトとダイコンさんのスクリプトは似てはいますが、
やってる事にかなりの違いがあります。
スクリプトを真似たら、同じような動作になるとは限らないのです。

光さんのスクリプトがどういう仕組みで動いているのか理解出来ていないようですから、
人間コンピュータになって、リファレンス片手に1命令ずつ動作を追いかけていく事です。
時間は掛かりますが、スクリプトを理解出来、確実に貴方の力になります。
どこを修正すれば良いのか、気付けるはずです。

問題はどれだけ根気良くスクリプトに向き合えるかです。
大変だと思いますが、ガンバッテ!



ORZ

リンク

2009/8/9(Sun) 12:22:14|NO.26947

color命令がソモソモ分かっていないようだ。ハローワールドからやり直せ。
免許が無くても運転はできるが、ハンドルを握れないのでは話にならない。



夢現因果

リンク

2009/8/9(Sun) 13:23:58|NO.26949

ちょっと甘いかなと思うけどお助けします
ダイコンさんのスクリプトの説明です


if map(mx+ax,my+ay)=0 { mx=mx+ax my=my+ay } if map(mx+ax,my+ay)=2 { mx=mx+ax my=my+ay p=p+1 }
自キャラの行き先のマップが0の時移動する
(上に移動の場合自キャラの座標は0,7から0,6に移動する)
次に自キャラの行き先のパップが2の時移動する
(上に移動の場合先ほどの座標0,6から0,5に移動する)



repeat 5 x=cnt repeat 5 y= cnt pos 32*x,32*y gcopy 1,32*map(x,y),0,32,32 gcopy 2,32*map(x,y),0,32,32 loop loop
5かける5の範囲内にて
まずバッファ1にてマップが0の時なら■を描写 1,2の時は空白を描写
次に同じ場所で
バッファ2にてマップが0の時なら◎を上書き 1,2の時は空白を上書き



あり

リンク

2009/8/9(Sun) 16:50:56|NO.26953

個人的には短期間で完成させたいのなら
マップ移動は省略して会話イベントと戦闘に特化した方が
良さそうな気がするのですが・・・

それはさておき、これまでダイコンさんがどのようなRPGを作りたいのかが
説明されていないですよね、FFとかDQとかのような2Dであっても
どんな要素(マップ・イベント・戦闘等)を一番メインにしたいのか
によって省略できる所も出てくるかと思いますので
ここは一つ説明してみては如何でしょうか?

余計な心配でしょうが、今のペースでは期間内に理想形のままで
完成させるのは非常に厳しいと思いますので
必要な要素以外は切り捨ててでも完成を目差す覚悟は
しておいた方がいいと思いますよ。



ダイコン

リンク

2009/8/9(Sun) 17:50:25|NO.26955

Veさん
そうかもしれませんがやるだけやってみようと思っています。
出来なければ妥協します
ですから出来なかったら出来なかったでいいんです
作りたい気持ちはありますが無理と感じたら諦めます
まだ自分では実感が無いのでまだがんばります

shinkunさん
わかりました
少しずつ理解していきます


ORZさん
ハローワールドってなんですか?
すいません分かりません


夢現因果さん
とりあえずそれを理解してみようと思います
ありがとうございます

ありさん
自分は戦闘がメインになればいいかな?
って感じです。
イベントなど細かいことや装備品などのアイテムなどもあんまりこだわる気はありません
戦闘がメインでちょっとマップ移動が出来る程度で作りたいです
それでなんとか出来ますかね?



名無し

リンク

2009/8/9(Sun) 20:30:59|NO.26963

戦闘がメインならこの際マップ無くしてもいいと思います。
戦闘が終わったら少し強い敵とまた戦闘という感じで。
まずはメインとなる戦闘を作って余裕があるならマップをつける。ないなら戦闘だけ。
そう割り切っておいた方が中途半端にならずいいと思います。



さくっきー

リンク

2009/8/9(Sun) 20:52:01|NO.26965

前にこの掲示板にあったように、1次元の左右移動だけなマップや
数字でゴールまでの距離が表示されるだけなゲームもあるよね

ま、できる範囲で好きにしたらいいさ



u

リンク

2009/8/9(Sun) 21:54:07|NO.26967

なんだかんだで知らない命令が多いようなので・・・。
まず頑張って一週間くらいで標準命令をある程度覚えてください。
覚えられればサンプルスクリプトも弄れるようになりますし、応用もできるようになります。
分からない命令が出てきて困ったときは「hsp ○○」と検索するだけでも色々出てきます。
二次配列も変数が分かれば10分くらいで理解できます。(個人差はあると思いますが)



ダイコン

リンク

2009/8/9(Sun) 22:28:52|NO.26969

みなさんへ
このまま聞きまくっていたら自分の能力の低さもあるんですが
いつまでも終わりそうになりそうなんで
とりあえず今ある書かれている事でがんばろうと思うので
解決したと言う事にしておきます



mmo

リンク

2009/8/11(Tue) 01:28:12|NO.26988

まだみているかわかりませんが、せっかくがんばっているようですので
このまま終わるのはもったいないです。
貼られてたスクリプトを多少改良してみました。
イベントのつけ方など、適当ですがミニRPG程度ならこういう方法でも良いかもしれません。

ご自身が書かれたソースとの違いをご確認くださいませ。

ちなみに、
HSPのスクリプトエディタは、わからない命令があった場合に
キーボードの[F1]キーでその命令に関しての説明(ヘルプ)が出てくるので、
最初のうちはそれをみながら理解していくのが良いと思います。


;マップ dim map, 9, 9 map(0, 0) = 1,1,1,1,1,1,1,1,1 map(0, 1) = 1,2,0,2,0,2,0,2,1 map(0, 2) = 1,0,0,0,0,0,0,0,1 map(0, 3) = 1,2,0,2,0,2,0,2,1 map(0, 4) = 1,0,0,0,0,0,0,0,1 map(0, 5) = 1,2,0,2,0,2,0,2,1 map(0, 6) = 1,0,0,0,0,0,0,0,1 map(0, 7) = 1,0,0,0,0,0,0,0,1 map(0, 8) = 1,1,1,1,1,1,1,1,1 ;プレイヤー初期位置 mx=1 my=7 ;壁 buffer 1,256,32 font msgothic,32 mes "■" ;アイテム buffer 2,256,32 font msgothic,32 mes "◎" screen 0,288,288 font msgothic,32 *main ax=0:ay=0 stick ky,15 if ky=1 :ax=-1 if ky=4 :ax=1 if ky=2 :ay=-1 if ky=8 :ay=1 if map(mx+ax,my+ay)=0 { mx=mx+ax my=my+ay ax=0:ay=0 } if map(mx+ax,my+ay)=2 { p=p+1 gosub*イベント ax=0:ay=0 } redraw 0 color 0,0,0:boxf //boxfが省略されている場合は、全描画領域を塗りつぶします。 repeat 9 //repeat 5ですとmap(0〜4,0〜4)までしか読み込まないので9に変えました x=cnt repeat 9 y= cnt pos x*32,y*32 if map(x,y)>0:gcopy map(x,y),0,0,32,32 loop loop color 255,255,255 :pos mx*32,my*32 :mes"○" redraw 1 await 64 goto *main *イベント font msgothic,16 color 64,64,64 boxf 0,200,288,288 pos 10,210 color 255,255,255 mes "アイテムを入手した。点数+1点" mes "現在の点数は"+p+"です" mes "" //改行(一段下げる)にはmes "あああ\n"のように\nと書く方法もあります mes "        (ENTERキーで決定)" map(mx+ax,my+ay)=0 //アイテムがマップから消えるように0にしています。 repeat -1 //マイナスを入れると無限ループ。 stick ky if ky=32:break //breakはrepeatから抜けるための命令です。 wait 10 loop font msgothic,32 return



ONION software Copyright 1997-2023(c) All rights reserved.