ActiveBasic + DXライブラリDLL でゲームを作るスレ
■ このスレッドは過去ログ倉庫に格納されています
希望通りの動作になりました。ありがとうございます!
エフェクトクラスがちょっとずつ形になってきました。
またもや詰まってしまいました(ソース長いのでう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言語の知識がない扱えない とりあえず、ゲームの肝心なゲームシステム以外は一通り出来た。
あと、やっと半分って所だと思う。明日の朝には上げられるように仕立てる。
単なる感想だけど、ActiveBasicそれなりに触ってみて、
やっぱし慣れてないのは使いづらい。 と改めて思った。
たかだかフレーム周りのCodeingだけにてこずったり、
慣れない言語でのエラー回復に無駄に時間食われたり
意図しない動作の改善にむちゃくちゃ悩んだ。 すまん。まだ出来てない。
横になって実装考えてたらいつの間にか寝てて、今起きた。
きちんと仕様練るなら座って紙の前で鉛筆持って考えるといいよ。
あと一ヶ月くらいなら期待して待ってると思う。それ以上掛かるときっと忘れる。 フリーのコンパイラ型BASIC言語であるActiveBasicはCよりムズイと評判だっちゃ ABを使うことの出来る資質の持ち主なら、最初からC++を覚えた方が良いし役に立つ。 427×428pixの画像を14個くっつけた427×5992の画像を読み込んで
描画したいのですがものすごく重くなってしまうのは仕方ないんでしょうか?
一人のキャラクタが大きめの武器を振る動きを作りたいのでどうしても
一枚の画像の大きさが大きくなってしまうんです(直立なら48×128です)
我ながら初心者くさいことを聞いて申し訳ないと思うんですがアドバイスお願いします >>107
単純計算でもかなりの量だから、仕方ないと思う。
(単純計算でも60MBぐらいでしょ。実メモリー使用量。)
あと、あまりに大きいとメモリー上の操作なんかも結構実行速度食うし
もっと細かく分離したりして合成やeffectはつかえない?
簡単な所だと、一、二枚の画像をdxDrawRotaGraphとかで角度変えたりしてキャラと合成とか。 キャラクタ部分と武器部分の画像を別々にして
武器の画像をキャラの動きに合わせて回転させる感じですよね
タイミングを合わせるのが少し難しそうですが一度頑張ってみます
本当にありがとうございます dxDxLib_Init前のマップファイルの読み書き(拡張API)
の挙動が怪しい気がするけど気のせいかしらん。 基本部分のClassの実装が終わった。
あとは、これをフレームにぶち込んで、各種接続チェックぐらいかな?
ABは、コンソールが比較作るの楽だね。
コンソールで、一通りClassのチェックしつつ、フレームワークに入れて各種チェックがいい感じ。
最初ッからWindowでClass実装するとDXライブラリ使っても、細かい部分で面倒な処理周りやんんないといけないし。
何処のバグか見極めが面倒。
それと、DXライブラリの2.40がアップされてたんでその記念Age。
>>110
気のせいじゃないね。
バグってる。
修正しときます。 >>112
thxです。wktkして待ちます。
この命令群のおかげでコンフィグファイルの読み書きが楽できそうです。 リファレンスを一通り読んでみたんだけど、
これ、貼り付ける画像にアルファチャンネルって指定できないの?
背景色を指定するだけだと、シャギシャギするよな >>114
普通にできるよ。たとえば、読み込む普通の画像が att.pngだったら、att_a.pngがアルファチャンネルとして利用できる。
詳しくは、DXライブラリ 本舗の方
ttp://homepage2.nifty.com/natupaji/DxLib/dxfunc.html#R3N2
アルファチャンネル画像の自動読み込みについての辺りを。
他にも、プログラムの方でやる方法もあるが、それらはめんどいで、同じく
リファレンスを読んで考えてくれぃ
ttp://homepage2.nifty.com/natupaji/DxLib/dxfunc.html#R3N17 ♪ △ ♪
(゚ω゚)ノ ActiveBasic〜
~└( (♪
( ヽ ♪
△♪
ヽ(゚ω゚) ActiveBasic〜
♪) )┘♪
ノ > ♪ 超初心者の質問ですがよろしいですか?
このDxライブラリで、ステータスを表示させるtめに別ウィンドウをだすことはできますか? ライブラリにはあまり関係ありませんが、自機を前進・後退と旋回の操作で移動させたいのですが、
三角関数を使って座標を計算すると、角度が浅い場合横方向へ移動できません。何かうまいやり方をご教示願います >>118もうちょっと詳しく。
整数型の変数で管理しててうまく行かない とかじゃない? >>118
たぶんそうです。sin,cosの値が1以下の少数になったりするからだとおもいます。
で、その値を座標に反映したいのですが、どうすればいいでしょう。
プログラムの知識はほとんど無いもので、すみません プログラムというか算数の知識じゃなかろうか。
0.1は10倍すれば1に、100倍すれば10になるんだぜ? >>122 釣り?そうじゃない?
とりあえず、真面目に答えておくとして、
整数系だと小数点が省略されてしまうから問題なわけで、
普通に保持する変数を
DIM PC_X AS DOUBLE
DIM PC_Y AS DOUBLE
などと宣言し、浮動小数点型の変数で扱えばいい。
で、表示のときだけ、
CInt(PC_X)
と整数系に戻して、使う。 ありがとうございます><
ただゲームが作りたかったってだけで、そういうコマンドは全然知らないんです どうでもいいが、スカラ値が1の二元数を掛け算すると回転する。
#prompt
Type d2
x As Double
y As Double
End Type
Dim a[3] As d2,cx As Double,cy As Double,c As Double,dx As Double,dy As Double,i As Long
a[0].x=-10:a[0].y=-20:a[1].x=-10:a[1].y=20:a[2].x=10:a[2].y=20:a[3].x=10:a[3].y=-20
c=1*_System_PI/180:cx=Cos(c):cy=Sin(c)
Do
For i=0 To 3
dx=a[i].x*cx-a[i].y*cy:dy=a[i].x*cy+a[i].y*cx:a[i].x=dx:a[i].y=dy
Next
Cls 3
Line (a[0].x+300,a[0].y+200)-(a[1].x+300,a[1].y+200),7
Line (a[1].x+300,a[1].y+200)-(a[2].x+300,a[2].y+200),7
Line (a[2].x+300,a[2].y+200)-(a[3].x+300,a[3].y+200),7
Line (a[3].x+300,a[3].y+200)-(a[0].x+300,a[0].y+200),7
Sleep(10)
Loop ♪ △ ♪
(゚ω゚)ノ ActiveBasic〜
~└( (
( ヽ ♪
△♪
ヽ(゚ω゚) ActiveBasic〜
) )┘♪
ノ > ♪
ざんねん!!
ABのスレはここでかそってしまった!! うわぁー・・・・・・・・・・・・・・・
昔はレイトレーシングとかで>126みたいなソースよく見たね。
半日かかって幾何学図形が重なってる粗い画像を表示して喜んでた。
あのころ今くらいのパソコンがあればなぁー。 おーいヘルプセンターには、
四角形オブジェクトを配置する方法はのってるけど
四角形オブジェクトを消したり、テクスチャ変更したりする方法が載ってないぞ
誰か希ボンヌ せっかく来たんだから、
Wikiの移転先を貼っとこう
ttp://www.2chab.net/pukiwiki/index.php?ActiveBasic%20Wiki-TopPage >>134
ヒントつ 作り直す
ヒントつ ROKファイルにして六角大王で編集 ♪ △ ♪
(゚ω゚)ノ ActiveBasic〜
~└( (
( ヽ ♪
△♪
ヽ(゚ω゚) ActiveBasic〜
) )┘♪
ノ > ♪ DXライブラリでそれぞれの処理に個別にタイマー設定することは可能ですか? BASIC
BASICBASIC
BASICBASICBASIC
BASICBASICBASICBASIC
BASICBASICB∀SICBASICBASIC
BASICBASICBASICBASICBASICBASIC
BASICBASICBASICBASICBASICBASICBASIC BASIC
BASICBASIC
BASICBASICBASIC
BASICBASICBASICBASIC
BASICBASICB∀SICBASICBASIC
BASICBASICBASICBASICBASICBASIC
BASICBASICBASICBASICBASICBASICBASIC >>1に張ってある一番したのリンクのページ見てVC++EEの設定はした
そしたら includeファイルを開けません ’DxLib.h’No such file or directoryって出た
全くもって意味が分からない
誰か助けてくだしあ ■ このスレッドは過去ログ倉庫に格納されています