ActiveBasic + DXライブラリDLL でゲームを作るスレ
■ このスレッドは過去ログ倉庫に格納されています
HPに書いてある作成講座っぽいのやったら簡単にできたな
ちょっと感動したのでいろいろいじってる
なわけで、age このスレで実際に作ってみてください。
しかもオープンソースで。
へぼでもゲームになっていれば文句は言いません。
ただし、1が例によって逃げた場合は・・・。 >>6
へぼでもいいのならsample10.abpにコラムス風のやつがあるけど。
>>8
取り消されたアクション
Internet Explorer は、要求された Web ページにリンクできませんでした。要求された Web ページは現在、利用できない可能性があります。
--------------------------------------------------------------------------------
次のことを試してください:
[更新] ボタンを クリックするか、後でやり直してください。
以前にこのページを表示したことがあり、コンピュータに保存したものを表示する場合は、[ファイル] メニューの [オフライン作業] をクリックしてください。
Internet Explorer のオフライン参照については、 [ヘルプ] メニューの [目次とキーワード] をクリックしてください。
Internet Explorer
>>8
ブロック動かないと思ったら・・・・ハゲワロスwww >>9
うちは普通に落とせますが
>>10
知識はほとんどないもので…
これから学ぶつもりです
DXライブラリ
http://homepage2.nifty.com/natupaji/DxLib/
よく読んでいないのに書き込みしたんだが、要は↑のヤツを
ABで使える用にしたものだよ。ってことかな? >>14
そういうこと
マニュアルもそっちのやつを見てくれ
ダイレクトXってウインドウモードで起動していてもメッセージボックスなどは表示できないんですかね?
>>19-20
そうですか、ありがとう。
DC取得ですか、、ええとググるとデバイスコンテキストハンドルのことみたいですねぇ。
方法はわからないが、実験してみます。
必要なのはDCではなくてウィンドウハンドルだろ
フルスクリーンの時はウィンドウハンドルに0(デスクトップ)を指定すればいい。
VBわかってないとだめだなこりゃ…
アホな漏れは結局VCに戻っちまった ウィンドウアイコンの変更やマウスホイールの状態取得はこのDLLでは出来ないんですか? >>24
DxLibの非公開関数ではできるけど、DLL版では使えない。
必要なら次のバージョンで使えるようにするけど。
是非お願いします。
ABDXよりこっちの方が色々できるんで対応してもらえると助かります。 dsound.dllをクラックしてゲームを改良することってできますか? HSPの数値演算機能があまりにもあれなので
今日からABに乗り換えます。 戯れ。
#console
Dim i As Long
Dim f[48] = [300,300,450,425,450,500,450,425,450,500,_
600,600,900,850,900,1000,900,850,900,1000,_
750,750,800,750,675,800,750,600,_
450,475,600,675,600,600,575,_
750,750,800,750,675,800,750,600,_
450,475,600,675,600,900] As Long
Dim t[48] = [400,400,1450,200,200,400,2200,200,200,400,_
400,400,1450,200,200,400,2200,200,200,400,_
1100,350,400,400,400,400,800,1400,_
850,750,750,750,750,1500,1400,_
1100,350,400,400,400,400,800,1400,_
850,750,750,750,750,2000] As Long
For i = 0 To 48
Beep(f[i], t[i])
Next
End エフェクトクラスを作ろうとしていきなりつまってしまいました。
Class CEffect
Dim width,height As Long
Dim GHFront,GHFlip As Long
Public
Sub CEffect()
Dim depth As Long
dxGetScreenState(width,height,depth)
GHFront = dxMakeGraph(width,height)
GHFlip = dxMakeGraph(width,height)
End Sub
Sub ~CEffect()
dxDeleteGraph(GHFront)
dxDeleteGraph(GHFlip)
End Sub
Sub Exec(ByVal Num,Time,KeySkip As Long)
dxSetDrawScreen(DX_SCREEN_FRONT)
dxGetDrawScreenGraph(0,0,width,height,GHFront)
dxSetDrawScreen(DX_SCREEN_BACK)
dxGetDrawScreenGraph(0,0,width,height,GHFlip)
'この下にNum番号に応じたエフェクト処理を書いていく予定
End Sub
End Class
…という感じのソースなのですが、コンストラクタとデストラクタ内の
width、height、GHFront、GHFlipが無効な識別子でコンパイルエラーになります。
Exec内のはエラーにならないのですが、何故なんでしょう? 変数はひとつひとつ型を指定しないといけない。
省略するとDouble型になる。
width、GHFront、Num、TimeはDouble型になってる。
それが原因じゃない?
classのメンバ変数を定義するときはDimはいらない。
原因はこっちか? >>40-41
ご指摘の個所を直したらコンパイルが通るようになりました。
ありがとうございました。 dxSetDrawScreen(DX_SCREEN_FRONT)
dxGetDrawScreenGraph(0,0,640,480,グラフィックハンドル)
↑ゲームウインドウの(0,0)-(640,480)がグラフィックハンドルへ取り込まれる
挙動を期待して書いたのですが、デスクトップ全体から見た(0,0)-(640,480)が
取り込まれてしまいます。
この現象はウインドウモードのみで起きます(フルスクリーンモードでは期待通りに
動く)。
ウインドウモードでも期待通りに動かしたい場合はどうすれば良いのでしょう?
DXライブラリの仕様なのか、グラボが悪いのか分かりませんです。 ヘッダが間違ってる。
DxLib.sbpのdxGetDrawScreenGraphを下のように書き換えてちょ。
Function dxGetDrawScreenGraph(x1 As Long, y1 As Long, x2 As Long, y2 As Long, GrHandle As Long)(UseClientFlag As Long) As Long
dxGetDrawScreenGraph = _dxGetDrawScreenGraph(x1, y1, x2, y2, GrHandle, UseClientFlag)
End Function
↑を↓にする
Function dxGetDrawScreenGraph(x1 As Long, y1 As Long, x2 As Long, y2 As Long, GrHandle As Long) As Long
dxGetDrawScreenGraph = _dxGetDrawScreenGraph(x1, y1, x2, y2, GrHandle, TRUE)
End Function
希望通りの動作になりました。ありがとうございます!
エフェクトクラスがちょっとずつ形になってきました。
またもや詰まってしまいました(ソース長いのでうpしました)。
http://gamdev.org/up/img/3900.lzh
なんでか不正アクセスエラーになってしまうのですが、デバッグ
してみるとpDraw(ph)した瞬間がまずいっぽいのです。
何となくAddressOfが上手くいってない気がするのですが… >>45
クラスのメソッドは関数ポインタが使えない。
それが原因じゃない? おおお、マジですか。スッキリしました。
AB最新版のバージョンアップ履歴を見て「いけるかも?」と
思い込んでおりました。
んでは、ABのバージョンアップをマターリと待つ事にします。
どうもありがとうございました。 thisポインタが正しく渡されないんだよね。
下のコードを実行させると確認できる。
class Foo
public
sub Func()
Print "this=", VarPtr(this)
endsub
sub Foo()
dim pFunc as *sub()
Print "this=", VarPtr(this)
pFunc = addressof(Func)
pFunc()
endsub
endclass
dim f as Foo()
>>48
ゲームでは使用頻度が高いので実装されると良いですね。
やっぱり待ちきれないので関数ポインタ使わずにエフェクト作っとります。
・・・質問ばっかりで申し訳ありません。本家版にある
SetWindowSizeExtendRateをAB版で使用することはできないでしょうか? >>49
配布ページの掲示板に要望として書くことを勧める 今週ネットしてなくてレス遅れました。
>>51
ありがとうございます。
また何かありましたらサイトのBBSにおじゃまいたします。 今画像を使わず文字を使ったシューティングゲームを作ってます
http://hyakkun.hp.infoseek.co.jp/1.exe
↑これがそれです
今作成段階ですww >53
期待した俺がバカみたじゃん。んとこれはWIN32APIでもつかっているのですか?
>all
私はC言語の入門書をやったものでDirectXが分かりませんが、逆引きゲームプログラミングという本だけでDirectXは理解できるようになるでしょうか?
ちなみにDXライブラリというものを使ってシューティングゲームを作ったことならあります・・・
参考URL
http://www.amazon.co.jp/exec/obidos/ASIN/479801169X/qid=1134200930/sr=1-1/ref=sr_1_10_1/249-6811492-0793914#product-details すみません。シューティングゲーム製作技術総合のスレと間違えました・・・m(_ _)m ゲームじゃないけど、RPG作りのためのエディター作りをしようかと思って勉強中。
ちなみに、他の言語では作ったことがあるからなにをどうすればいいかは分かるんだけど…。
命令が多すぎてテラめんどくせぇ 涙
てか、ウィンドースクロールが分かんねえ。
画像一枚表示するのに(講座とは別で、単純に表示するだけ)五時間もかかったよ。。。 >>55
すいませんじゃねーよ
頑張って作った>>53に1000回謝れ フリーのC++ BuilderXを使ってC言語でボードゲームの思考エンジンを
作っています。それが完成したら画面上で動くゲームにしたいんですが
なんかDXライブラリでできそうな感じがしたのでここでお伺いします。
C++ BuilderXにDXライブラリを入れればそのまま使えるんでしょうか
それともC++ BuilderXでは不都合なことがありますか?
ActiveBasic とかDXライブラリDLL は必要なのでしょうか
それともDXライブラリだけでOK なんでしょうか。
C言語の初歩以外まったく知らないのでよろしければ優しいレスをお願いします C++ BuilderX使うんならActiveBasicもDXライブラリDLLもいらない。
DXライブラリだけでOK ピスコラのファイルをABで再生するダイナミックリンクライブラリがあれば・・・。 >>66
再生用DLLが付属してるから、ヘッダをAB用に書き換えたらいいだけだろ >>70
それはピストンプレイヤー起動DLLじゃまいか Hファイルをdllで保存するだけでは当然ダメだ。
どんな理屈でなら成り立つか、うーむ・・・ pxtone.dllが再生用DLLだよ
エクスポートしてある関数を見れば分かる。
pxtone.hをAB用に書き換えたらいいだけ。 >>71-72
何言ってんの?
その発言はあまりにも「パソコン素人」すぎないか?
プログラマ以前だぞ。 発言的にはそう感じるだろうが、わらをもつかんでみるといったところですよ。 こういうライブラリを使わずにまっとうなゲームを作ろうとすると
API直叩きになって結構まんどいからではないかな。 ♪ △ ♪
(゚ω゚)ノ ActiveBasic〜
~└( (♪
( ヽ ♪
△♪
ヽ(゚ω゚) ActiveBasic〜
♪) )┘♪
ノ > ♪ ♪ △ ♪
(゚ω゚)ノ ActiveBasic〜
~└( (♪
( ヽ ♪
△♪
ヽ(゚ω゚) ActiveBasic〜
♪) )┘♪
ノ > ♪
♪ △ ♪
(゚ω゚)ノ ActiveBasic〜
~└( (♪
( ヽ ♪
△♪
ヽ(゚ω゚) ActiveBasic〜
♪) )┘♪
ノ > ♪
ver4のエディタが落ちるだめだなActiveBasic 結局AB使うんならLGP使った方がいいって話になるのか たしかに、不人気だな。HSPよりも環境よさそうに思えるんだが・・・
「残念だ。」
と言う事で、俺が何か作ってみる。
HSPがウケた理由はIDEを起動してから実行するまでのシンプルさが良かったと思う
AB:IDEがVSみたいに高機能すぎて難しそう。本格的なのはごめんだよっ
LGP:エディタで記述してコンパイルして実行……複雑すぎるよぅ。複数のソフトの使い方を同時に覚えられないっ
BASIC4GL:英語とか出来ないし……
DarkBASIC:おもしろそうだな、ネットの評判はどうなんだろう?……あれ?だれも使ってない。
Delphi6Personal:英語サイトだけど登録ぐらいなら……できないorz
VC++:Win32開発環境整える段階でギブアップ(ExpressはSDKのセットアップが必要)
豆乳:なんかエッチだかららめぇ……
ABの対抗はDelphiかVBだと思うけどDelphi6Personalは配布中止(鯖トラブル)
でVB6はもう売ってないからチャンスですよ!!
HSPだとプログラマとしての肥やしにならないという点を攻めて
ABだと構造体やポインタが覚えられて将来職業プログラマになるためのステップになると
アピールできれば魅力じゃなかろうか
>>1みたいなライブラリが充実してこればABにも(ゲーム開発環境としても)普及する可能性はあると思う
COM使えるからExcel等と連携できてツール作成に威力を発揮するのがただのゲーム開発言語と一線を画するところ
ゲームもツールもこれ一本!!覚えてよかったActiveBASIC(^^; >>93 応援Thanks.
やる言っておいて、あんま手をつけてなかったが、一通りサンプルとその他目に付いたドキュメント目を通してみた。
まぁまぁだね。C/C++と違ってMain()関数がないので、どこからはじまるんだ?とおもった点が大きかった。
あと、Whileの終わりがWendなんだね。なんか分かり易いようで、なんか違和感が・・・。
それに加えて、Ifの終わりはEnd If だったり、ForだとNext。
Do〜Loopは、しかたないにしても統一感が欲しいなぁと思った。
明日か明後日には、何か小さい物上げたいと思うところです。 ♪ △ ♪
(゚ω゚)ノ ActiveBasic〜
~└( (♪
( ヽ ♪
△♪
ヽ(゚ω゚) ActiveBasic〜
♪) )┘♪
ノ > ♪ すまねぇ。>>96なんか期待させてたみたいで。
実家から親が急に来てたりで、ヨソウガイに時間が取れなかった。
一応、来るまでに素材は最低限作った。
これから、晩飯食って、見送ったら自由な時間ができるんで、もう暫く待っててくれ。
(今日中はほぼムリそうだ、書き込み遅くなってゴメンよ。 ActiveBasicはC言語の知識がない扱えない ■ このスレッドは過去ログ倉庫に格納されています