トップページgamedev
990コメント416KB

ズブの初心者がゲーム作れるまで勉強するスレ

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/07 20:26ID:PFtlmWD9
【参加資格】
ズブの初心者以外お断りです。

なおアドバイス等はプロのかたでも結構です。
初心者は聞く耳を持ちプロもわかりやすく教えてやってください。
0729名前は開発中のものです。2005/12/14(水) 01:03:51ID:gXhStAxv
>>728
自己解決 1.3GBだな、漏れはXPのSP2入れてないから…
0730名前は開発中のものです。2006/01/03(火) 01:19:16ID:ILudQXI1
>>729
また、誰も居なくなってしまったなー

一般的なズブの初心者にはMSの要求スペックは高すぎってことかなと
ズブの初心者が始められる環境を考えてみようと調べてみた。
(漏れも初心者級なので自分のためにもなる)

ズブの初心者でも周りに仲間が居る場合は問題ないのでそうじゃない場合を考えてみる。
0731名前は開発中のものです。2006/01/03(火) 01:21:18ID:ILudQXI1
OS:OSはWindows系(ありふれた初心者なら)
言語:HSPに行っちゃう方が自然だが9月からの流れはCというかC++
C++でエロゲ、猫でも本のコンパイルが出来ない(これはCなんだがキャストがウザイのはC++風味)
なんだかC++以前の気もするが気を取り直してつづきを
0732名前は開発中のものです。2006/01/03(火) 02:08:57ID:ILudQXI1
>>731
書く元気がなくなりましたorz
0733だめぽ2006/01/04(水) 02:01:11ID:NsRcQhHm
なでしこじゃ教えてもらえませんか?>OLL
0734名前は開発中のものです。2006/01/05(木) 12:15:09ID:opsCm8oA
携帯アプリを作ってるんですけど、自作の曲をフリーで公開しているサイトなどを知ってる方はいませんか?
ネット環境が携帯しかないのでなかなか検索にそういうサイトがひっかかりませんors
0735名前は開発中のものです。2006/01/05(木) 15:14:18ID:nA3IOc/i
パソコンにしなはれ
0736名前は開発中のものです。2006/01/05(木) 18:53:07ID:wT0vTzhf
HSPって2.61と3.0どっちがオススメでしょうか?
0737名前は開発中のものです。2006/01/05(木) 22:49:38ID:VxCiBCK1
Cが少し分かる程度の初心者ですが、シューティングゲームが作りたいので
がんばってみようかと思います。
手元にあるのはVC6.0。何年かかるか分からないけどコツコツいくかー。
0738名前は開発中のものです。2006/01/05(木) 23:52:20ID:Iwa/nYiX
がんがれ
0739名前は開発中のものです。2006/01/06(金) 00:48:35ID:3rlWXs0P
頑張ってー
0740BM7772006/01/06(金) 23:46:58ID:9HXkPUFz
>>737
漏れも、この間からC言語を独学で勉強し始めた
お互いがんがろう

07417372006/01/06(金) 23:59:02ID:B0ZxTwAo
今日はクラスについて勉強した。
継承とかコンストラクタとかいまいち分からん・・・

>>740
がんばろー
0742名前は開発中のものです。2006/01/07(土) 02:42:54ID:CYKFf4iJ
C++をやっただけじゃあウインドウズプログラミングはできないのか。
猫さんの最初のソースをビルドしたら、キャスト作れみたいになった。調べたらキャストってC独特みたい。難しい。ビルドできない。最初の壁かも。
0743名前は開発中のものです。2006/01/07(土) 03:33:27ID:pvfxVtyV
実引数と仮引数の型を合わせるだけじゃないの
0744名前は開発中のものです。2006/01/07(土) 06:56:37ID:i8N5i8L1
const char* hoge = "hogehoge";
char* test = (char*)hoge;
0745名前は開発中のものです。2006/01/07(土) 07:02:38ID:Oh/tRVLD
>>742
どこの何行目で引っかかってるかを言え。
さすれば道が開けるかもしれん。
0746BM7772006/01/07(土) 11:07:19ID:almc6Hht
>>742
がんがれ
0747名前は開発中のものです。2006/01/07(土) 11:55:24ID:CYKFf4iJ
これから仕事なんで、帰ってきたらつまづいてる所を晒します。
明示的なキャスト…Cの本も必要かな。買ってこよう。
0748名前は開発中のものです。2006/01/07(土) 14:53:35ID:f7WS+7/d
>>742
恐らく、キャストしろってのは
CのソースをC++でコンパイルしているから言われるんだと思う。

ここからはソース見ずに憶測で書くので
見当違いなこと言ってるかもしれんが、ソースの最後の方に
return msg.wParam;
ってのがあって、そこでキャストしろと言われたりしていないか?
そこでは
return (int)msg.wParam;
と直せばうまくいくはず。これでエラーが消えたと思われ。
もしかしたら、HBRUSHにキャストしろというエラーも出てるかもしれんが
これは自分でエラー文見てどこ直せばいいか探してくれ。
07497482006/01/07(土) 14:59:28ID:f7WS+7/d
追加だが、C++にもキャストはあるはず。
ttp://www.s34.co.jp/cpptechdoc/article/newcast/

正直C++もこなせていない予感がする。
焦らずに基本的な文法を復習してから
ウインドウズプログラミングに臨むといいと思われ。
0750名前は開発中のものです。2006/01/07(土) 15:54:29ID:h1OItEz0
まあCキャストだけわかってればなんとかなるんだけどな。
0751名前は開発中のものです。2006/01/07(土) 16:50:54ID:CYKFf4iJ
確かに、焦りすぎかもしれません。もう一度別の本でC++見なおしてみます。
ちなみにエラーは、HBRUSH関連のキャストでした。
0752名前は開発中のものです。2006/01/07(土) 17:36:04ID:Oh/tRVLD
あー、はいはい WinMain の中のやつでしょ。
それたぶん普通にCタイプのキャストすれば通るよん。
0753名前は開発中のものです。2006/01/07(土) 21:21:21ID:CYKFf4iJ
>>752
はい。それはわかるんですが、勉強不足のため、どうキャストしたら良いのかわからないんです。
なのでCでキャストについて勉強してみたいと思います。皆さん、御返答ありがとうございました。
0754名前は開発中のものです。2006/01/07(土) 21:59:01ID:/sz4CCM9
>>753
myProg.hbrBackground =(HBRUSH )GetStockObject(WHITE_BRUSH);
0755名前は開発中のものです。2006/01/07(土) 22:59:56ID:CYKFf4iJ
>>754
キャストの意味が理解できました。感謝です!
07567542006/01/08(日) 00:44:22ID:o+AQmuYa
>>755
でも.CPPじゃなしに.Cでやってればキャストなしで通ってwindowでたッスよ
(cppでやるぜって気概は買いますが)
0757名前は開発中のものです。2006/01/08(日) 02:35:41ID:d3j6rpHj
>>756
.Cでやると、fatal error LNK1181でファイルが開けませんってエラーが出るんです。
使用環境は、VC2005EEにPSDKとDXSDKを足してやってます。
ちなみに、.CPPでキャストをしたら、ビルドできました。中の文字は意味不明になってましたが順次解決していきます。
0758名前は開発中のものです。2006/01/08(日) 02:51:25ID:d3j6rpHj
>>757
.Cのビルドについては自己解決しました。
あとはこの文字化けをなんとかして先にすすみます。早くゲーム作りたいです。
0759名前は開発中のものです。2006/01/08(日) 02:59:44ID:o+AQmuYa
>>757
LINKエラーの1181はファイルがないよーーってやつでコンパイルはOKだったってことだとオモ

VC2005は持ってないので分かんないけどVC6では普通に一発OKだった。
BCC5.5.1も -WでBCC32で一発OKでした。
VC++ではWIN32Applicatinで空のプロジェクトを作ってそこに入れただけだったんだがなあ。
別のPCにExpressを入れる予定だから入れたらやってみます。

0760名前は開発中のものです。2006/01/08(日) 03:00:31ID:o+AQmuYa
>>758
あ、解決してたのね
0761名前は開発中のものです。2006/01/08(日) 10:20:02ID:DwXHldUB
さんざんヒントもらっといて自己解決でもねえだろーがよw
07627372006/01/08(日) 22:45:59ID:RME4f8+W
ようやくクラスの概要が分かったような。うーん、先は長い・・・

以上チラシの裏
0763名前は開発中のものです。2006/01/09(月) 20:50:10ID:KX7zE/S4
758の文字化けは多分でふぉがUNICODEかどうかなんだろうが、解決したのかね
0764名前は開発中のものです。2006/01/10(火) 00:52:51ID:rFvJ1h8q
>>763
お恥ずかしながら、まだ原因を調べてます。
UNICODE関連であることはLPCWSTRとかでわかったのですが、まだ頑張ってます。ゲーム作るためにも技術をものにします。
0765名前は開発中のものです。2006/01/10(火) 01:01:16ID:rFvJ1h8q
原因解決!コードじゃなく、プロジェクトのプロパティだったとは…
0766名前は開発中のものです。2006/01/10(火) 01:16:32ID:/DfQw9pI
>>765
解決おめー
0767名前は開発中のものです。2006/01/13(金) 12:32:42ID:pjySecNp
ピュアネスな初心者がやってまいりました。
0768名前は開発中のものです。2006/01/13(金) 20:26:46ID:bAYwWLWc
どんなにピュアだろうが、初心者だろうが、
ゲーム製作のためにこの板に辿り着いた奴は応援する!!


でも、面倒なので、面倒はみませんよ?
0769名前は開発中のものです。2006/01/14(土) 02:17:49ID:wEcomfFF
でも面倒見てもらえないとなにもできませんよ?
0770名前は開発中のものです。2006/01/15(日) 15:23:59ID:QdXt5qei
>>769
よーし、それじゃ使用するC++のコンパイラを決めよう
Visual Studio C++ 2005 Express か BCC5.5.1どちかを使うか決めてくれ
(gccやdev-cこのスレでは無理っぽいぞ)
0771名前は開発中のものです。2006/01/15(日) 15:29:14ID:QdXt5qei
>>770
まー、>737はVC6だが、その上の椰子も一人はVC6後は消えた
0772名前は開発中のものです。2006/01/15(日) 16:45:34ID:ldWKl/mO
俺はVC++で頑張ってます。むずいー。ってかリソースエディタ無いんですね…
0773名前は開発中のものです。2006/01/15(日) 19:24:40ID:QdXt5qei
>>772
ソリューション エクスプローラで
***.rcをクリックするとリソースビューが出てしまいますよね。
これは腹が立つので、**.rcを右クリックしてとりあえずTextEditorを既定値にしませうw

メニューの追加などは、しばらくエディターでやるしかないんですが

同時にResouce.hを開いて、
#define _APS_NEXT_SYMED_VALUE110

の値をみると110なので追加するときは上で#fdefine ID.... 110以上の値を書いてやる。
それに応じて#define _APS_NEXT..もつじつまがあうように直しておくと良いかも。
これでメニューの追加ぐらいは何とかなりますね。

772を読んでからBCCFormを関連付けしてやってみたら、DialogBoxでウザいことになってしまったorz
0774名前は開発中のものです。2006/01/15(日) 20:43:32ID:ldWKl/mO
すみません。
>772はExpressでつ。最初からリソース自体がグレーアウトしてて選択できないんで、resouce.hも作れないんで自分でヘッダ、リソースファイル書いてます。
0775名前は開発中のものです。2006/01/15(日) 20:52:28ID:Bt49Np5D
>>770
よーしそれじゃ前者だ
ってか有償ソフト必要?
07767732006/01/15(日) 21:27:46ID:+fLmdGs2
>>774
え?俺の773はExpressでやった結果だよ?

もしかしてSDK入れた後に設定変更やってないの?
MSの 「Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う」
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
とか
ttp://nrttkr.cocolog-nifty.com/blog/2005/12/visual_c_2005_e_482f.html
とかで書いてあるように

パスを通した後
corewin_express.vspropsでLIBのリンク対象を増やして
AppSettings.htmの 441行目から444行までの4行をコメントアウト

上記が終わっていれば:
するとMSの説明とは微妙に違うけど
1)Win32コンソールアプリケーション
2)現在のプロジェクト設定
・コンソールアプリケーション
ここで完了しないで<次へ>を押せばWINDOWsアプリケーションが選べるようになってるはず
0777名前は開発中のものです。2006/01/15(日) 21:38:16ID:hwi3ZD0n
>>775
上の方で>721が Visual StudioC++2005 ExpressをダウンロードしたけどHDDの容量不足で泣いたようだ。
自分のPCに合わせてBCC5.5,1かExpressかを選ぶことになる。
PSDKは無料、DirectXSDKも無料だから始めるには無料ですむ。
BCCは無料の開発環境を見つける。BccDev,Visual Windows for BC++,CPad,あたりだと思う。
私もズブの素人なのでこの程度しか知らない。
07787742006/01/15(日) 22:11:16ID:ldWKl/mO
あ、いえPSDKもインストして、設定もいじってしっかりwin32コンソールアプリケーションできます。けどいつも空のオブジェクトからやってるんで、リソースエディタ単体がほしいんです。
07797722006/01/15(日) 22:17:02ID:ldWKl/mO
すみません。
>>773さんが言ってくださったことは全て終えてます。ちなみにサクラエディタを割り当ててます。
0780名前は開発中のものです。2006/01/15(日) 23:10:21ID:i/VC3fIa
>>779
ああー、余計なお世話だったのね
リソースエディタですが、先ほど言ったBCCFormでMENUとかは行けると思いますよ。
0781名前は開発中のものです。2006/01/16(月) 02:00:54ID:trG9y2lE
>780
いえ、情報感謝しております。ム板でフリーのリソースエディタ公開してるサイトが貼られていたので、試しにそれも使ってみます。
0782名前は開発中のものです。2006/01/16(月) 12:44:55ID:MB7AKpRc
>>781
ttp://www.wilsonc.demon.co.uk/d10resourceeditor.htm
XN Resouce Editorっスな、それ使えますなあ(日本語とか選べるし)
私の実力ではBBCForm、XNどちらを使うときもプロジェクトをUNCODEからMBCSにしないと駄目だけど

Expressの使い方で発見とかあったら教えてくだしあ(UNICODEは参考になったっス)
0783名前は開発中のものです。2006/01/16(月) 19:12:30ID:trG9y2lE
>>782
それでつ。
お互い頑張りましょう!

ちなみに、私はノベルゲーム作りたく頑張ってます。
07847822006/01/17(火) 00:45:38ID:BXbuCNxJ
>>783
ウィ
0785名前は開発中のものです。2006/01/30(月) 01:34:04ID:HLYcyJ8j
>>783->>784
ウィ
0786名前は開発中のものです。2006/01/31(火) 20:59:07ID:O6FIK+ST
ずぶの素人です。趣味でゲーム作りたくて「やさしいC++」ぐらいの初歩の内容なら理解できるようになりました。
すれ違いかもしれませんが次おすすめの本あるでしょうか?

ちょっと背伸びすると急に難度が高くなってさっぱりで困ってます。
0787名前は開発中のものです。2006/01/31(火) 21:33:34ID:EQhJsvLP
俺ははじめてのC++ってのを読んで、ポインタから仮想GUIを完璧に理解してから、同じ著者のC++の演習の本読んだよ。そのあとは粂井氏の猫でもわかるウインドウズプログラミングを読み(←今ここ)、最後にダイレクトXへ進む予定です。
0788名前は開発中のものです。2006/01/31(火) 21:50:25ID:d111+hE/
>>786
Windowsでのプログラムを前提として答えると
翔泳社 プログラマ養成入門講座 VisualC++(1)山本信雄 が良いかな。
背伸びしなくて行けます

それと折角C++をやってるんだから気分を出すために、オライリーのリファレンス2冊
C++ライブラリ、C++ランゲージ、お金に余裕があるならこの2冊は持っててOk
背伸びしないにしても、読まないにしてもリファレンスは持っていたほうが良いです。
0789名前は開発中のものです。2006/02/05(日) 00:58:34ID:6a/MIZ7z
2chでアイデアを募集し、スタッフも同時求人。
そしてサウンドノベルを作って公開しようという
創作文芸板の企画です。
ミステリ編のメインシナリオは完成し、体験版もできています。
こちらに関してはあとは音、画像の挿入。分岐シナリオライター募集など。
ほかにホラー編も作成中。==ライターは別の人。

現時点において人手不足のため、スタッフを募集しています。


現在作成決定中のシナリオ
【ミステリー編 】 メインシナリオ完成
揺光の下、白日を待つ。 ―disaster&light―
【島の謎 脱出編 】企画段階
赤い月夜に、鬼が哭く。 -Demon cries over the night of a red moon-      
【島の謎 解明編】シナリオ執筆中
夜を謳う、悪夢と共に。 ―nightmarescatter―  

サウンドノベル企画6改-鬼哭島殺人事件
http://book3.2ch.net/test/read.cgi/bun/1105746809/

1◆VSiZ17Eht氏の運営する総合案内・リンクサイト
http://akasaka.cool.ne.jp/novel2ch/index.html

まとめページ(体験版=選択肢なしであるけどミステリ編メインシナリオ)
[創作文芸]サウンドノベル企画
http://www.aaa-www.net/~sosaku/
0790名前は開発中のものです。2006/02/05(日) 01:08:54ID:PsBnitWb
プログラマはいらんのか。音できるけどなぁ。初めてまだ数か月だし…
0791名前は開発中のものです。2006/02/05(日) 08:23:07ID:xrnjocLM
ズブの初心者スレで募集って、ズブの初心者がスタッフとして必要なのか?
0792名前は開発中のものです。2006/02/05(日) 09:41:20ID:c7olZgCS
age
0793名前は開発中のものです。2006/02/05(日) 11:42:15ID:IblN+hmc
>>789
なんだこれw
タイトルが大仰な所が厨くせえw
0794名前は開発中のものです。2006/02/05(日) 18:31:02ID:KXWCIvRf
超初心者ですがC#でプログラムを組むべくVisualC#をインストールしました。
初心者にお勧めの簡単なお題ををお願いいします
0795名前は開発中のものです。2006/02/05(日) 18:33:36ID:bCNcEVl1
>>794
まずブロック崩し
そしてシューティング
が王道じゃね?
0796名前は開発中のものです。2006/02/05(日) 18:33:57ID:laLI4TA8
>>794
消えろ
0797名前は開発中のものです。2006/02/06(月) 00:20:35ID:vMsEOgkQ
>>794
お題をくれてやるから
できたら必ず申告しろ

1:「ゲムデヴ wiki」とぐぐる
2:その中の段階的学習を読んで感想文を書く
0798名前は開発中のものです。2006/03/13(月) 15:51:09ID:SdjQ4hhJ
今から俺がゲーム作るまで実況するお

まずHSPいれた
mes "hello, HSP"
F5を押した
「実行用ランタイムファイルが見つかりません。」
挫折した
0799名前は開発中のものです。2006/03/13(月) 16:08:45ID:OU7yAgnP
>>798
ゲーム作るまで実況するんだろ?
そんなことで挫折してどうする
0800名前は開発中のものです。2006/03/13(月) 16:16:41ID:SdjQ4hhJ
アンインストールしたら動いた
さっきは3.1βを入れたのがまずかったらしい

過去ログ読んで勉強中
>>32に感動した
でもそれは3目並べじゃないと思った
0801名前は開発中のものです。2006/03/13(月) 16:32:48ID:SdjQ4hhJ
*start
await 1
cls
pos 0,0: mes mousex
pos 0,16: mes mousey
goto *start

うまく動かない
clsとawaitの位置を入れ替えたらうまくいくが理由がわからない
気にしても仕方がないので次いってみよー

>>799
人間は挫折の数だけ賢くなるんやでってあんちゃんがいってた
0802名前は開発中のものです。2006/03/13(月) 17:19:17ID:SdjQ4hhJ
screen 0,640,480

map_width=79
map_height=59

dim map, map_width, map_height

//一番外の壁
for y, 0, map_height
    for x, 0, map_width
        map.x.y=1
    next
next
for y, 1, map_height-1
    for x, 1, map_width-1
        map.x.y=0
    next
next

//1マス間隔で置く
for y, 2, map_height-2, 2
    for x, 2, map_width-2, 2
        map.x.y=1
    next
next
0803名前は開発中のものです。2006/03/13(月) 17:21:43ID:SdjQ4hhJ

//計算用の補助変数
dim ax,4
dim ay,4

ax.0=0
ax.1=1
ax.2=0
ax.3=-1

ay.0=-1
ay.1=0
ay.2=1
ay.3=0

//1マス間隔の壁のまわりにランダムに置く
for y, 2, map_height-2, 2
    for x, 2, map_width-2, 2
        rx=x+ax.rnd(4)
        ry=y+ay.rnd(4)
        map.rx.ry=1
    next
next

for y, 0, map_height
    for x, 0, map_width
        if map.x.y=1:boxf x*8, y*8, x*8+7, y*8+7
    next
next
0804名前は開発中のものです。2006/03/13(月) 17:30:32ID:SdjQ4hhJ
過去ログでHSPの雰囲気は掴んだ
迷路風の模様を表示するプログラム作成

スクリーンショット
http://gamdev.org/up/img/4977.png

ソース
>>802-803

キー入力がよくわからないのでうpろだとwiki見てくる
0805名前は開発中のものです。2006/03/13(月) 17:47:11ID:SdjQ4hhJ
wikiをみてきた
CやDelphiだらけでちょっと焦る
HSPやってる場合じゃないのか・・・・

ジエンの無人島
http://gamdev.org/w/?%5B%5B%A5%B8%A5%A8%A5%F3%A4%CE%CC%B5%BF%CD%C5%E7%5D%5D

やっとHSPのソースをみつけた
stick命令の使い方を把握
変数に日本語を使えることに感動

    if ゲーム状態==移動モード {
        if 入力キー==32 : ゲーム状態=会話モード : gosub *チャット窓表示 : return
        if 入力キー==1 : MOVE送信="move,"+NO+",-1,0" : ゲーム状態=待機モード : return
        if 入力キー==2 : MOVE送信="move,"+NO+",0,-1" : ゲーム状態=待機モード : return
        if 入力キー==4 : MOVE送信="move,"+NO+",1,0" : ゲーム状態=待機モード : return
        if 入力キー==8 : MOVE送信="move,"+NO+",0,1" : ゲーム状態=待機モード : return
    }

ひょっとしてこれMMORPGですか
スゲー!
0806名前は開発中のものです。2006/03/13(月) 17:53:06ID:SdjQ4hhJ
>>805のソースの手間にこれを追加
stick 入力キー,15,1
0807名前は開発中のものです。2006/03/13(月) 18:28:11ID:SdjQ4hhJ
*start
    await 1        
    cls
    boxf x,y,x+8,y+8

    stick keyboard,15,1

    switch keyboard
    case 1
        x=x-1
        swbreak
    case 2
        y=y-1
        swbreak
    case 4
        x=x+1
        swbreak
    case 8
        y=y+1
        swbreak
    swend
goto *start

stick命令は把握した
次は画面にbmpファイルとか絵を出す
0808名前は開発中のものです。2006/03/13(月) 19:00:53ID:SdjQ4hhJ
screen 2,1024,768,2 //裏画面を作る。P4は非表示なので2
picload "utada.jpg",2 //裏画面に読み込み。これも非表示なので2
screen 0,640,480 //表示する画面は0、大きさを640x480に設定

*start
await 1 //これ絶対いれないとフリーズする
gcopy 2,i,0,640,480 //画面2からコピーする。コピー先はscreenで指定した画面
i=i+1
goto *start
stop

screen命令がちょっとやっかいだった
これは二種類のことを同時にしてるんだと理解した
・画面をつくる
・描画する画面を切り替える
で、疑問に思ったのが切り替えだけする方法がないの?ってこと
screen命令だと今まで描いた絵が消されてしまう

とにかく入力と描画ができたのでなんかゲームつくりはじめてみる
0809名前は開発中のものです。2006/03/13(月) 20:01:07ID:kuAEAR8Z
gsel ,
0810名前は開発中のものです。2006/03/13(月) 21:32:02ID:SdjQ4hhJ
>>809
サンキュー
これでチラツキを抑えることができる!
0811名前は開発中のものです。2006/03/13(月) 22:03:40ID:HzWMyKDs
企画書とか設計図とかって書いてる?
0812名前は開発中のものです。2006/03/13(月) 22:05:55ID:Lc/l5cjL
意味のある企画書とか設計図とか書けるようになったら、
初心者卒業かと。。。
0813名前は開発中のものです。2006/03/14(火) 00:31:13ID:gjKc/A8O
>>801

マウス座標はwait等でOSにタスクを移した時にmousex,yに代入される
clsは画面だけでなく他の情報もクリアされる
801の場合
await 1 ;マウス座標収得
cls ;マウス座標クリア

当然mousexは0

画面クリアを他の命令で行うか、clsの後にawait 0にする

しかし、clsを使う場合はclsからawait中にマウスの動きが無い場合
マウス座標収得はできない
0814名前は開発中のものです。2006/03/14(火) 00:36:39ID:gAnxDyH2
>>812
「設計」って言葉の意味がわからない。
そんなオレのプログラムはいつも途中で破綻しちゃうのさ・・
0815名前は開発中のものです。2006/03/14(火) 14:18:43ID:cumlLL/U
今STGを作ってるんですが
メインループにあれもこれも積んで
1フレーム中にすごい数の処理をするようになってしまいました

必要な時に呼び出すタスクシステムってのを見たんですが
むずいですね・・・

あまりにソースがごちゃごちゃなんで今1から作り直してます・・
0816名前は開発中のものです。2006/03/14(火) 20:16:51ID:BjyEc4sd
企画書=他人を説得するもの=個人製作には不要
設計図=フローチャートや変数表とか?UMLってやつもそうなのかな

だいたいこんな理解だ
0817名前は開発中のものです。2006/03/14(火) 20:55:57ID:BjyEc4sd
//裏画面
screen 1,640,480,2

//自機
screen 2,32,32,2
picload "jiki.bmp",2

//敵機
screen 3,128,128,2
picload "teki.bmp",2

//変数
cx=320
cy=400

cx_min=0
cx_max=640-128

tx=100
ty=32

tx_min=0
tx_max=640-128
tx_speed=8
tx_dir=tx_speed
0818名前は開発中のものです。2006/03/14(火) 20:56:28ID:BjyEc4sd
screen 0,640,480
cls 4
repeat
    //敵を動かす
    tx=tx+tx_dir
    if tx>tx_max : tx_dir=-1*tx_speed : ty=ty+8
    if tx<tx_min : tx_dir= tx_speed : ty=ty+8
    
    //裏画面を作る
    gsel 1,-1
    cls 4
    await 1

    pos cx,cy: gcopy 2, 0,0
    pos tx,ty:gcopy 3, 0,0,128,128

    //表画面へコピー
    gsel 0,1
    pos 0,0: gcopy 1,0,0,640,480
    
loop
0819名前は開発中のものです。2006/03/14(火) 21:02:21ID:BjyEc4sd
インベーダー風のゲームを作ることにした
やっぱ作りながら覚えるのがプログラミングですよね

昨日教えてもらった命令を使ってチラツキ対策完了
敵が左右に動くところまで作った
次は自機の操作を作ってくる
0820名前は開発中のものです。2006/03/14(火) 21:26:18ID:BjyEc4sd
    //自機操作
    stick keyboard,15,1

    switch keyboard
    case 1
        cx=cx-cx_speed
        swbreak
    case 4
        cx=cx+cx_speed
        swbreak
    case 64
        if benable=0 {
            benable=1
            bx=cx+16
            by=cy
        }
    swend    
    if cx>cx_max : cx=cx-cx_speed
    if cx<cx_min : cx=cx+cx_speed

    //自機弾
    if benable=1 {
        by=by-bspeed    
        if by<0 : benable=0
    }
0821名前は開発中のものです。2006/03/14(火) 21:33:19ID:BjyEc4sd
スクリーンショット
http://gamdev.org/up/img/5002.jpg

ゲームっぽいふいんき(なぜか変換できない)になってきた
移動中に攻撃(なぜか反応しない)のバグがある

弾や敵をいっぱい出す方法を考え中
>>815で話題にでてたタスクシステムって奴を勉強しないといけないのか……
0822名前は開発中のものです。2006/03/14(火) 23:19:42ID:BjyEc4sd
//裏画面
screen 1,640,480,2

//自機
screen 2,32,32,2
picload "jiki.bmp",2

//敵機
screen 3,128,128,2
picload "teki.bmp",2

//変数
cx=320
cy=400
cx_min=0
cx_max=640-32
cx_speed=4

tx=100
ty=32
tx_min=0
tx_max=640-128
tx_speed=8
tx_dir=tx_speed

dim bx,10
dim by,10
dim bspeed,10
dim blength,10
dim benable,10
0823名前は開発中のものです。2006/03/14(火) 23:20:26ID:BjyEc4sd
for i,0,10
    bspeed.i=16
    blength.i=16
    benable.i=0
next

screen 0,640,480
cls 4
repeat
    //敵を動かす
    tx=tx+tx_dir
    if tx>tx_max : tx_dir=-1*tx_speed : ty=ty+8
    if tx<tx_min : tx_dir= tx_speed : ty=ty+8

    //自機操作
    stick keyboard,15,1

    switch keyboard
    case 1
        cx=cx-cx_speed
        swbreak
    case 4
        cx=cx+cx_speed
        swbreak
    case 64
        for i, 0, 10
            if benable.i=0 {
                benable.i=1
                bx.i=cx+16
                by.i=cy
                goto *fire_end
            }
0824名前は開発中のものです。2006/03/14(火) 23:20:57ID:BjyEc4sd
        next
        *fire_end
    swend    
    if cx>cx_max : cx=cx-cx_speed
    if cx<cx_min : cx=cx+cx_speed

    //自機弾
    for i,0,10
        if benable.i=1 {
            by.i=by.i-bspeed    
            if by.i<0 : benable.i=0
        }
    next
    
    //裏画面を作る
    gsel 1,-1
    cls 4
    await 1

    pos cx,cy: gcopy 2, 0,0
    pos tx,ty:gcopy 3, 0,0,128,128
    for i,0,10
        if benable.i=1 :     color 255,255,255: line bx.i, by.i, bx.i, by.i+blength.i
    next
    //表画面へコピー
    gsel 0,1
    pos 0,0: gcopy 1,0,0,640,480
    
loop
0825名前は開発中のものです。2006/03/14(火) 23:45:46ID:BjyEc4sd
弾をたくさん出せるようになった
配列確保して弾を使い終わったらフラグをオフにしてる

ソース
>>822-824

最高何発まで出せるかが配列に制限される
これをなんとかしたい

案1.配列をたくさん確保しておく
何の解決にもなってないけど今の知識では現実的な妥協点
メリット:実現の目処が立っている
デメリット:必要な配列数を事前に計算する必要がある
あまりデメリットはないかもしれない

案2.動的に確保する(線形リスト)
思いついたコードがこれ
pNext=5
dim task, 5
dim a.pNext, 5
配列に配列を入れるっていう方法で線形リストを作れないか試したけど失敗

案3.動的に確保する(動的配列)
まず2つの配列を用意する
増減があるたびにdimで配列を確保してコピーする
増減が多いと配列全体のコピーが頻発するからゲームには向かないっぽい
増減が少ない場合は空の配列をチェックしなくて済むので案1.より高速

どれもいまいちピンとこない
0826名前は開発中のものです。2006/03/15(水) 08:54:51ID:BmU2n3lC
プログラムで処理しようって時に、上限を設けないってのは難しいので
案1でとりあえずはいいんじゃないか。
0827名前は開発中のものです。2006/03/15(水) 11:18:33ID:IR0XDvMy
妥協せずに
案3でいけ
0828名前は開発中のものです。2006/03/15(水) 22:53:10ID:CsslkguR
疑似タスクシステム思いついた
■ このスレッドは過去ログ倉庫に格納されています