[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 11:45 / Filesize : 221 KB / Number-of Response : 833
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ゲームボーイアドバンス(GBA)非公式開発 Part2



1 名前:名前は開発中のものです。 mailto:sage [04/10/30 15:50:05 ID:XmInH8YR]
GBAで何やら作ってみようという人の為のスレ。ライセンス不要。
初心者歓迎。質問歓迎。英語苦手な人歓迎。冷やかし歓迎。ネカマ歓迎。

資料、リンク等
www.devrs.com/gba/
www.gbadev.org/
www.vsync.org/agb/
nocash.emubase.de/gbatek.htm
www.bomber.co.jp/chaola/docs/ARM/

開発環境
DevkitAdvance devkitadv.sourceforge.net/index.html
DevkitARM www.devkit.tk/
VisualHAM visualham.console-dev.de/
DragonBasic jm-basic.com/dragon/index.php

GBA Wiki
cgi.f26.aaacafe.ne.jp/~gbawiki/pukiwiki/pukiwiki.php
【GBA】Linuxから目覚めるぼくらのゲームボーイ!
pc5.2ch.net/test/read.cgi/linux/1070983168/

ゲームボーイアドバンス(GBA)開発@ゲ製板(避難所)
bbs.gamdev.org/test/read.cgi/gamedev/1055111303/
前スレ
pc5.2ch.net/test/read.cgi/gamedev/1013750899/


441 名前:424 mailto:age [2006/02/16(木) 23:55:24 ID:IJObToHy]
へー、かっこいい
フリーのフォントって知らなかったけど調べてみたらいろいろあるんだな
とりあえず、FONTX形式にすればいいのだろうか?

442 名前:432 mailto:sage [2006/02/17(金) 16:40:32 ID:x9jBkP1z]
サンプルありがとうございます。
私は420=431さんとは別人です、横入りすみません。

フリーのフォント、元GBA研究所のサンプルにあったものを
流用しようと・・問題有りますでしょうか
完全フリーなものが欲しいのですけどそうなるとなかなか
ありませんよね。フリーソフトのみとかメールでの通知義務とか。

443 名前:名前は開発中のものです。 mailto:sage [2006/02/17(金) 18:32:26 ID:iAZtWxeh]
ttp://khdd.net/kanou/fonts/x11bdfs.html

444 名前:424 mailto:age [2006/02/18(土) 01:08:37 ID:uRwRaCgY]
おお、サンクス
でもbdfフォーマットの仕様書はadobeの有料開発メンバじゃないと読めないのね・・・

で、探した結果、良さそうなページを発見
ttp://hp.vector.co.jp/authors/VA013241/font/bdf.html

あとは日本語文字コードか、やれやれ。

445 名前:名前は開発中のものです。 mailto:sage [2006/02/18(土) 02:27:52 ID:QKtp7HhO]
DIRECTSOUNDをDMAで鳴らそうと
belogic.com/gba/directsound.shtml
を参考にしてるんですが、演奏を止めるためのTM1設定
REG_TM1CNT_L=0x7098; //0xffff-the number of samples to play
REG_TM1CNT_H=0xC4; //enable timer1 + irq and cascade from timer 0
のthe number of samples to playの算出式がよくわかりません。
単純にデータサイズというわけではなさそうですが。。。

446 名前:名前は開発中のものです。 mailto:sage [2006/02/18(土) 03:41:17 ID:4ZdB2i2h]
データサイズで合ってる
cascade from time 0になっているということは
timer 0が桁あふれしたときにtimer 1が1つ進むということ
timer 0が桁あふれしたとき同時に何が起こっているのか考えてみればそのうち分かる
頑張れ

447 名前:名前は開発中のものです。 mailto:sage [2006/02/18(土) 16:03:02 ID:1rrcgcm5]
>>446
すみません、もう少し教えてください
データサイズが0xffffを超える場合はどう設定すればいいのでしょうか?

448 名前:名前は開発中のものです。 mailto:sage [2006/02/18(土) 17:05:13 ID:ZbScaNGm]
フリーの日本語ビットマップフォント一覧
ttp://kappa.allnet.ne.jp/kanou/fonts/x11bdfs.html


449 名前:名前は開発中のものです。 mailto:sage [2006/02/18(土) 18:51:03 ID:iQRmZRdR]
5つほど上に既に貼ってあるジャマイカ



450 名前:名前は開発中のものです。 mailto:sage [2006/02/18(土) 21:15:59 ID:yUcx3isO]
研究所が未だに復活しない件。
猫でもみたいなTips集的な使い方をしていたので、他所を探すのが以外に大変。

451 名前:名前は開発中のものです。 mailto:sage [2006/02/18(土) 22:05:41 ID:q2PjLLP+]
儂はウェブアーカイブで拾ってきたよ。zipファイルは保存してないからサンプルは取れないけど。
ヘッダとソースは見られる。makefileが無いのが難点。

452 名前:名前は開発中のものです。 mailto:sage [2006/02/19(日) 01:10:26 ID:prU8DMPB]
>>447
どうしてもtimerを使って止めたいならtimer 2を使えばいい
お勧めしないが。。。

// (0xXXXX * 0xYYYY = datasize)
REG_TM1CNT_L=0x10000 - 0xXXXX;
REG_TM1CNT_H=0x84; //enable timer1 + cascade from timer 0
REG_TM1CNT_L=0x10000 - 0xYYYY;
REG_TM1CNT_H=0xC4; //enable timer2 + irq and cascade from timer 1
REG_IE=0x20; //enable irq for timer 2
REG_IME=1; //master enable interrupts

453 名前:452 mailto:sage [2006/02/19(日) 01:11:38 ID:prU8DMPB]
間違ったスマソ

// (0xXXXX * 0xYYYY = datasize)
REG_TM1CNT_L=0x10000 - 0xXXXX;
REG_TM1CNT_H=0x84; //enable timer1 + cascade from timer 0
REG_TM2CNT_L=0x10000 - 0xYYYY;
REG_TM2CNT_H=0xC4; //enable timer2 + irq and cascade from timer 1
REG_IE=0x20; //enable irq for timer 2
REG_IME=1; //master enable interrupts

454 名前:名前は開発中のものです。 mailto:sage [2006/02/19(日) 02:00:16 ID:m3SmeD2S]
>>452
了解しました。トライしてみます。
あと、timerを使わずに止める方法があるのならご教授プリーズ。


455 名前:名前は開発中のものです。 mailto:sage [2006/02/19(日) 04:25:56 ID:iq15VETn]
チョット違うことしてるのかな?一応
つdirecsoundサンプル
gamdev.org/up/img/4705.zip

456 名前:名前は開発中のものです。 mailto:sage [2006/02/19(日) 10:19:03 ID:QSXlPkGt]
>>455
BeLogicのサンプルみたく別タイマーで止めないとダメだとばかり思い込んでました。
このスレよく読み直したら過去にヒントが出てたんですね。。。orz

457 名前:名前は開発中のものです。 mailto:sage [2006/02/19(日) 21:44:01 ID:oTR8sHnf]
DarkFaderのMylibとかNylibとか入れてみようと思ってやってみたがダメだ…。
やり方が悪いのかサンプルmakeできなかった。
ライブラリ自体はすごそうだ。使ってる人いる?

458 名前:名前は開発中のものです。 mailto:sage [2006/02/20(月) 03:17:45 ID:B+Dm9jGk]
NyLibは任天堂の純正ライブラリそのものだから使わないほうがいいぞ
MyLibはゴミ

459 名前:名前は開発中のものです。 mailto:sage [2006/02/20(月) 21:23:56 ID:bbMb17ur]
1Dモードでスプライトの属性を指定します。
attr2(ゼロが最初)のキャラクタ番号(0-9ビットまで)に指定の番号をセットすると正しく表示されません。
2倍の値をセットすると正しく指定できました。
これってあってる? ゼロビット目がキャラクタ番号じゃないんじゃ、とか思います。
1Dのスプライトについて書かれているページとかありませんか?



460 名前:名前は開発中のものです。 mailto:sage [2006/02/20(月) 21:39:23 ID:LHhnamaS]
マジですか。コンパイルもようできんからgcc自分で持ってきてarm-elfで作ったりしたんだがなぁ。
最低限eloistのgba.hとgbatekとかのドキュメント、あとは自分でがんばるかね。

461 名前:名前は開発中のものです。 mailto:sage [2006/02/20(月) 22:06:12 ID:LHhnamaS]
>>459
スプライトが256色設定の場合は2倍で指定するらしいからそのせいではないかな?

462 名前:名前は開発中のものです。 mailto:sage [2006/02/21(火) 00:33:12 ID:zwimk+yf]
>>459
気になるならVBAのTile Viewerでタイル番号とアドレスを確認すれ


463 名前:名前は開発中のものです。 [2006/02/21(火) 05:42:06 ID:uuzcpC5q]
ボタンを押した瞬間を取得したいんですが
下記のソースがうまく動作しません。
何がいけないかわかりますか?

//ボタンに関する列挙型
typedef enum{UP,DOWN,RIGHT,LEFT,A,B,L,R,START,SELECT} KEY;

//スタティックグローバル変数
static u32 sgKey; /* キーセンス */
static u32 sgKeyhit; /* キー押した瞬間 */

//メインループの頭でボタンの状態を一括取得
void UpdateKeySense(void)
{
static u32 keyold = 0;
sgKey = (u32)(*KEYS);
sgKeyhit = sgKey & (~keyold);
keyold = sgKey;
}

//特定のキーが今押されたかを調べる
u8 KeyHit(KEY key){
switch(key){
case A:
if(!(sgKeyhit & KEY_A)) return 1;
else return 0;
case B:
if(!(sgKeyhit & KEY_B)) return 1;
else return 0;
}
return 0;
}

464 名前:名前は開発中のものです。 mailto:sage [2006/02/21(火) 07:28:21 ID:GiHvck/8]
書き込みできるかテスト

465 名前:名前は開発中のものです。 mailto:sage [2006/02/21(火) 08:22:43 ID:BSGVJJY5]
>>463
それぞれの変数の値を出力してみろ

466 名前:名前は開発中のものです。 [2006/02/25(土) 15:23:38 ID:LRNrnoNa]
ある構造体に汎用的な配列を用意し、状況によって汎用配列部分に
別の構造体をキャストすることでいろいろ使い分けられるように
したいんですが下記(分けて書き込みます)のようなソースがうまく動きません。
「w->cnt = 5;」等の部分で値を代入しているのに正しい値がはいりません。
VC++では正しく代入できるようです。なぜだかわかりますか?
仕様なんでしょうか?

467 名前:名前は開発中のものです。 [2006/02/25(土) 15:24:22 ID:LRNrnoNa]
typedef struct{
u8use;/* 動作フラグ */
u16no;/* 自分自身のタスク番号 */
u8 phase;/* 動作フェーズ */
u8wrk[48];/* 汎用ワークエリア */
void*entryfunc;/* 実行関数 */
}TSKWRK;
TSKWRKts[10];/* 実体 */

/* 構造体 */
typedef struct{
u16 cnt;
u8 x;
u8 y;
u32 tmp;
}TEST;

//メイン処理
int main(void)
{
TSKWRK *tp = &ts[0];
TEST *w = (TEST*)&tp->wrk[0];
  w->cnt = 5;
  w->x = 4;
w->y = 9;
w->tmp = 1;
}

468 名前:名前は開発中のものです。 [2006/02/25(土) 15:25:34 ID:LRNrnoNa]
変数の型と変数名がつながっているのは書き込み時に
つながってしまったもので実際には正しく記述しています。

469 名前:名前は開発中のものです。 mailto:sage [2006/02/25(土) 16:32:04 ID:ChwfFfDn]
>>466-467
アライメントの勉強をしてみよう。
www.google.co.jp/search?q=%E3%83%A1%E3%83%A2%E3%83%AA+%E3%82%A2%E3%83%A9%E3%82%A4%E3%83%A1%E3%83%B3%E3%83%88

この場合は u8 のアライメントしか持っていない wrk に
u16 としてアクセスしていることが原因。
GBA の CPU である ARM ではアライメント違反した書き込みはできない。
VC++ で正しく動作するように見えるのは CPU が違うから。
x86 系ではアライメント違反した書き込みはパフォーマンスが落ちるだけ。



470 名前:424 mailto:age [2006/02/25(土) 17:25:32 ID:T5T+YA0I]
こういう使い方をしたいときはunionを使うんだっけ?

使ったことないけど

471 名前:名前は開発中のものです。 mailto:sage [2006/02/25(土) 17:28:03 ID:JLoubNl/]
>>466
>>469を踏まえてこれでもう一度テストしれ

typedef struct{
u8 use;/* 動作フラグ */
u16 no;/* 自分自身のタスク番号 */
u8 phase;/* 動作フェーズ */
u8 wrk[48];/* 汎用ワークエリア */
void *entryfunc;/* 実行関数 */
} __attribute__ ((packed)) TSKWRK;

typedef struct{
u16 cnt;
u8 x;
u8 y;
u32 tmp;
} __attribute__ ((packed)) TEST;

472 名前:名前は開発中のものです。 mailto:sage [2006/02/25(土) 17:30:14 ID:JLoubNl/]
>>470
この場合unionは全く関係ないし的外れ

473 名前:名前は開発中のものです。 mailto:sage [2006/02/25(土) 17:32:36 ID:+k+s2zkt]
メモリをダンプしてみろ
それからだ。

474 名前:名前は開発中のものです。 mailto:sage [2006/02/25(土) 17:38:12 ID:ChwfFfDn]
>>470,472
union 使ってアライメント確保する方法がある。
Cだとコレぐらいでいいんじゃないかな?

union
{
 u8 size_holder[48];
 void* pointer_align;
 long long integer_align;
 long double floating_point_align;
} wrk;

C++ だとメンバ変数・関数ポインタを追加。

>>471
packed はパフォーマンス落としたりバイナリ互換に問題が発生したりするんで
気をつけて使う必要がある。非標準になるしね。
その例だと TSKWRK に packed は必要ない。

475 名前:名前は開発中のものです。 [2006/02/25(土) 18:20:18 ID:LRNrnoNa]
みなさん、アドバイスありがとうございます。
アライメント自体の概念はわかりました。
実用についてはまだよくわからんのですこし調べてみます。

>>474
unionのサンプルの意味は
u8でサイズを決めつつ、何のデータを扱ってもいいように
void型のポインタと最大サイズの整数と浮動少数で
共用体を定義しているということでよろしいでしょうか?

あと、私が書き込んだソースを下記のように修正したら問題なく
動くようになったんですがこのまま使い続けるのは
問題あるでしょうか? 
u8 wrk[48] → u32 wrk[12]

476 名前:474 mailto:sage [2006/02/25(土) 18:33:56 ID:ChwfFfDn]
>>475
サンプルの意味はそういうこと。
union 自体のアライメント要求がメンバの中で最大の物になることを利用したもの。

GBA のハードウェアで4バイト以上のアライメントを要求するものは
無かったと思うので、 GBA に限った動作だけを考えれば
u32 での置き換えで問題ないと言える。

477 名前:名前は開発中のものです。 [2006/02/26(日) 00:08:14 ID:WfB5cmW7]
関係ないけど
GBAって電源切ったとき画面の色が黒でなく白なのはなんでだろう?

478 名前:名前は開発中のものです。 mailto:sage [2006/02/26(日) 00:10:13 ID:vz2qCRmn]
白黒液晶ってのは黒色の文字を表示するものだから背景が黒かったらどうしようもないと
ここまで書いてGBAが白黒ではないという事実を思い出した

479 名前:名前は開発中のものです。 mailto:sage [2006/02/26(日) 07:47:46 ID:e+6sQVje]
>>381 ノベル制作ツール「のべ〜る」で
VisualBoyAdvanceでプログラムスタート直後に音割れする現象の対策

*TOP:
#play_wav 1 music0.bin
#page
■セロ弾きのゴーシュ;
ゴーシュは町の活動写真館でセロを弾く係りでした。#w ;
けれどもあんまり上手でないと評判でした。#w ;
……

スクリプト開始のしょっぱなに何より先に#play_wavし、
直後に#pageします。これでなぜか音割れ現象が発生しなくなります。
なぜこれでうまくいくのかはよく分かりません。
ちなみに実機やその他のエミュでは試していません。
もしかしたら割り込み内でサウンドの処理より画像の処理を
先にやってるのかなとか思ったり・・見当ハズレなら作者さまスマソ。

これで使える。ヤター!



480 名前:479 mailto:sage [2006/02/26(日) 07:53:54 ID:e+6sQVje]
のべ〜るは>>380
でした。失礼。

481 名前:466 [2006/02/26(日) 15:39:57 ID:UpVKMws2]
構造体のキャストで質問したものです。
とりあえず、みなさんのおかげで
スプライト制御が一段落したんで
経過をご報告します。
ttp://2ch-library.com/uploader/src/up_2121.zip

482 名前:名前は開発中のものです。 mailto:sage [2006/02/27(月) 22:06:09 ID:KqQE3G30]
くだ質で大変申し訳ないのですが、
C++でGBAのプログラミングはできないのでしょうか?
様々なサイトをググってみたのですが、すべてCでの開発で
C++を扱っているサイトを全く見かけません。

よろしければご教授をお願いします。

483 名前:名前は開発中のものです。 mailto:sage [2006/02/27(月) 22:45:37 ID:NtZAdaLq]
>>482 gcc なんだから、できるよ。

484 名前:名前は開発中のものです。 mailto:sage [2006/02/27(月) 23:07:51 ID:yy1S2zAQ]
>>482
つ Tennodai Bunko

485 名前:482 mailto:sage [2006/02/28(火) 00:35:45 ID:jBhKnEbd]
>>484氏に紹介いただいたサイトを見る限り、DevkitAdvanceで普通にできそうですね。
早速試してみようと思います。

どうもありがとうございました。

486 名前:名前は開発中のものです。 mailto:sage [2006/02/28(火) 09:22:37 ID:1wwrrnAa]
GBAプログラミング研究所のBMP2RGB.exeで256色の出力のとき、
255番のパレットを指定したドットが0x00になり、
255番のパレット自体も0x0000になって出力されるんだけど
何か意味があるのでしょうか。


487 名前:名前は開発中のものです。 mailto:sage [2006/02/28(火) 13:47:49 ID:ykuetkSe]
確証は無いけど透明色じゃないの?

488 名前:名前は開発中のものです。 [2006/03/01(水) 17:29:46 ID:CwoNSWML]
ソースレベルデバッグをしたいんですが
MAPPY VMとVHAM&DevkitAdvanceの組み合わせの場合
どのようにすればよいのでしょうか?
また、NO$GBAとMAPPY VMだとどの程度違いますか?


489 名前:名前は開発中のものです。 mailto:sage [2006/03/02(木) 21:30:54 ID:yUNPC8aZ]
Insight + VBA(devel版) で*.elf読ませる方が楽っぽくね?



490 名前:名前は開発中のものです。 mailto:sage [2006/03/02(木) 22:48:33 ID:LnIoHKvJ]
arm-agb-elf-insightつかってデバッグするときにVisualBoyAdvanceの画面の状態を
確認しながらデバッグするにはどうしたらいいのですか?

File-TargetSettingからConnection-TargetをSimulatar選んでからOptionをVBAの
GDB接続待ちPortの数字にあわせればいいのですか?

InsightデバッガからRun-ConnectTargetはSucessfully connectedってでるから
成功したのかな?
でも、VBA側の接続待ち状態ダイアログが消えないから違うんだろうなぁ


491 名前:名前は開発中のものです。 mailto:sage [2006/03/02(木) 23:52:12 ID:fFp03F4Q]
>>490
漏れの環境ではVBA-SDLでしかInsightと接続できないorz

492 名前:名前は開発中のものです。 mailto:sage [2006/03/04(土) 11:46:20 ID:m5qLcxRB]
ところでGBAゲームでセーブデータってどうやって作るんですが?
研究所にはあったみたいだけど落ちてて見れない・・・

493 名前:名前は開発中のものです。 mailto:sage [2006/03/04(土) 13:52:52 ID:x3hAFwv9]
>>492
VBAでGBAファイル起動

494 名前:名前は開発中のものです。 [2006/03/04(土) 14:06:07 ID:KUpila9P]
>>455
このサンプルでDirectSoundの再生方法を試しているんですが
サウンド再生関数を1回目に実行した際には音がならず
2回目の実行で音がなります。
これ以外のDirectSoundのサンプルでも同様の現象が起きます。
455のサンプルに関してはソースをまんまでコンパイルしても
同様の現象になります。
付属のロムデータでは正しく動作しているようですが
何がいけないかわかりますか?


495 名前:名前は開発中のものです。 [2006/03/04(土) 17:16:26 ID:KUpila9P]
やっとこさゲームらしくなってきたんですけど
サウンドがなるとめっさ重いんですよね。
GBAってこんなもんなんでしょうか?
それともプログラムがヘボイだけ?
ttp://2ch-library.com/uploader/src/up_2173.zip

496 名前:名前は開発中のものです。 mailto:sage [2006/03/04(土) 17:18:01 ID:vi0lIxtr]
AGBがまともにサウンドを鳴らせないほど非力なのは仕様です

497 名前:名前は開発中のものです。 [2006/03/04(土) 17:34:40 ID:KUpila9P]
まじですか!?
じゃあ、GB互換音源を使うしかないんですね。
研究所が消滅してコンバーターの入手も難しいし
こまったもんだ…。

498 名前:492 mailto:sage [2006/03/04(土) 21:18:52 ID:m5qLcxRB]
>>493
いや、そういう意味じゃなくて、
自作したゲームにセーブデータを作らせようと思ったらどうすればいいんですか?

499 名前:名前は開発中のものです。 mailto:sage [2006/03/04(土) 21:53:58 ID:Msh9zdwX]
>494
キーを入力しないと鳴らないんです。
main.cをコレで鳴るんじゃない?
mu_wok = 0;// 再生の直前に++のため、0からの値になります。
se_wok = 0;
PlayMusic(mu_wok,PLAY_LOOP_ON); //※追加
while(1)
{

>497
4つもの機能のちがう音源を制御するのが重そう。
ゲーム部分を軽くすることは出来ないでしょうか…



500 名前:名前は開発中のものです。 mailto:sage [2006/03/04(土) 22:08:24 ID:Msh9zdwX]
GBAプログラミング研究所って結局どうなりました?
どこかへ移転したとか…
日本のGBA開発に欠かせないサイトだったし、あれほどみんなが
利用していたのに突如閉鎖というのは有り得ない。

501 名前:名前は開発中のものです。 mailto:sage [2006/03/04(土) 22:30:48 ID:ega3649d]
>>498
SRAM(0x0E000000〜)に数値書き込めばいい

502 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 10:53:06 ID:bBYTbtx/]
>>500
管理人が捕まったとか

503 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 11:16:39 ID:JLfn0Pan]
>>502
iswebからアマゾンの広告かなんかに警告出されたとかいうこと書いてなかったっけ?
それ放置してたら消されたとか?

504 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 16:30:00 ID:vg84cSdA]
>>503
怒られたので消しました、って更新履歴にあったような気が?
今となっては確認が難しいが。

505 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 22:27:41 ID:aIloybH9]
”捕まった”とか言うとデマに発展しそうな気がしてイヤンな感じ

広告掲載の方法についてサーバーの提供元から警告が来たので広告を消した、
というような更新が最後だった希ガス

確かにGBAの方は更新がほぼ止ってたような気がしないでもないが
DS用のページも作ってたみたいだし(DSの方はやってないのでよく知らないが)
更新意欲がなくなってそのままフェードアウトした感じではないのだが・・・

506 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 22:32:48 ID:ZGr9k1wh]
DSの方の掲示板は業者スパムだらけだったな

507 名前:名前は開発中のものです。 [2006/03/07(火) 00:19:36 ID:2maRPTXR]
ソニックザヘッジホッグやロックマンとかの横スクロールアクションで
地形、足場の当たり判定をどのように持つかについて質問なんですが

素人考えだと
@タイルごとに当たり判定の属性を持つ。
A当たり判定のある背景だけを一つのBGに分けて
 背景色以外の部分に当たり判定を持つ。
だと思うのですが

@だとタイル単位でしか扱えないため斜めの坂などの複雑な地形を作れません。
Aだと坂とかも表現できるとおもいます。

でも、ロックマンゼロとかのマップデータをVBAで確認してみると
当たり判定がある部分と無い部分の背景が一枚のBGに描かれています。
この場合、どのように当たり判定を持っているのでしょうか?

作成するゲームによって当たり判定の持ち方は変わってくると思いますが
上記のようなゲームを作る場合はどのように当たり判定を持つのが一般的でしょうか?
参考になるサイトとかあれば教えてもらえないでしょうか?


508 名前:名前は開発中のものです。 mailto:sage [2006/03/07(火) 01:50:52 ID:TN1OAFRk]
>>480
つ ttp://gamdev.org/up/img/4889.zip


509 名前:名前は開発中のものです。 mailto:sage [2006/03/07(火) 07:32:50 ID:P11agiDo]
>>507
当たり判定だけのマップを作る
そのマップが視覚的に見えてる必要は無い



510 名前:名前は開発中のものです。 mailto:sage [2006/03/07(火) 07:35:16 ID:jNiGJUSI]
>>507
BGにとらわれずに、マップのパラメータを配列の変数として持てばいいんじゃね?
床と傾斜の違いも同じく。

511 名前:名前は開発中のものです。 mailto:sage [2006/03/07(火) 22:33:51 ID:GCKxwI5B]
>>507のAは草の上を歩く場合、困ったことに…葉っぱ一枚の上にも乗っかってしまう。
>>509 510のやり方をになると想像。チップごとに当たり判定がある@の方法。
チップごとに次のような判定をする。

0…当たり判定無し
 □□□□
 □□□□
 □□□□
 □□□□
@…当たり判定あり。
 ■■■■
 ■■■■
 ■■■■
 ■■■■
A…当たり判定ありで次のような判定をする
 ■□□□
 ■■□□
 ■■■□
 ■■■■
B…当たり判定ありで次のような判定をする。
 □□□■
 □□■■
 □■■■
 ■■■■
白い□の部分は当たり判定が無い。背景チップ番号を取得して0〜Bの場合に
分けて当たり判定。当たり判定の種類をもっと増やすこともできる。
これでマリオ風の坂道をなだらかに歩いて降りる表現もできるようになる。
チップ内の当たり判定だけど、上は4x4マスにしたけど、8x8ドットで
判定するなら8x8マスでの当たった/当たらない判定になる。
やったことないので想像です、スマソ。

512 名前:名前は開発中のものです。 mailto:sage [2006/03/07(火) 22:38:25 ID:GCKxwI5B]
>508
乙です。ありがたく使わせていただきます。

513 名前:名前は開発中のものです。 mailto:sage [2006/03/10(金) 16:21:11 ID:/vUYzsUw]
インターネットアーカイブがzipとかも保存してればなぁ・・・

514 名前:名前は開発中のものです。 mailto:sage [2006/03/10(金) 17:28:14 ID:2iPTfRgc]
つ ttp://www.liarsoft.org/diary/

515 名前:名前は開発中のものです。 mailto:sage [2006/03/11(土) 03:21:32 ID:wvglnkMZ]
使用に堪えるデバッガ付きエミュってどれでしょう?
CowBiteとMappy Virtual Machineは中々いいんですが
前者は使いづらく、後者はエミュとして弱い

516 名前:名前は開発中のものです。 [2006/03/12(日) 22:58:52 ID:oHXV1jml]
タイルモードで512*512のBGを扱う際、
メモリ上の配列が256*256単位で左上→右上→左下→右下となっているのは
仕様ですか?

517 名前:名前は開発中のものです。 mailto:sage [2006/03/12(日) 23:37:14 ID:Yfw9wRAT]
仕様です

518 名前:516 [2006/03/13(月) 01:03:53 ID:OoJGMs+j]
>>517
レスどうもです。

なぜそんなことを聞いたかというと
市販ソフトのBGを見ると512*512でやっているのが多いんですが
なぜなのかなと思ったんですよ。
512*512にしろ256*256にしろスクロール部分を書き換えなきゃ
いけないのは一緒だし、だったら256*256でやったほうが
メモリ配列のことなんか考えなくていいし
VRAMの使用量もすくないじゃないですか。
なんでなんでしょう?

519 名前:名前は開発中のものです。 mailto:sage [2006/03/13(月) 06:13:07 ID:CqXZ+TIn]
>>516
タイルの配列は、2Kごとに区切られているような扱いをしてる模様。
Webでのサンプルは256x256はかりなので以外に気付かない罠。

>>518
256だと横幅が16ピクセルしか余裕がないからそれ以上のスクロール量が発生した時の案パイだと思われ。



520 名前:任天堂本社より警告 [2006/03/21(火) 20:45:17 ID:5b78pgIg]
任天堂本社情報通達部から本スレッドをご利用の皆様に警告します。
いかなる場合においても、ゲーム機本体および周辺機器、ソフトの内容を
改変する事は違法であり、個人使用もその限りではありません。
日本条例により罰せられますので早急におやめ下さい。
今回は警告という事で免除しますが、後日2ちゃんねる管理人に許諾を得て
なんらかの処分を決定させていただきますのでご了承ください。
法的手段に踏み切る事も視野に入れて検討中です。
アクセス解析等によりご自宅にお邪魔させていただく場合があります。
会社・学校・友人・親・親戚への連絡を行う場合があります。


521 名前:名前は開発中のものです。 mailto:sage [2006/03/21(火) 22:14:46 ID:QjFV0BDn]
>>520
なんだこれ?
気になって取説とパッケージ見直してみたけど、そんなこと書いてないね。
悪質ないたずらだな。

522 名前:名前は開発中のものです。 mailto:sage [2006/03/22(水) 08:47:24 ID:a/VO7x3i]
どうせ警告だすならマジコンスレでやってくれよ頼むから(w

523 名前:名前は開発中のものです。 mailto:sage [2006/03/22(水) 08:58:11 ID:YwZnSigd]
>>520
ダウト
情報通達部なんて部署ないぞ
やるとしても法務部だろ


524 名前:名前は開発中のものです。 mailto:sage [2006/03/22(水) 10:09:51 ID:LO+kTHWz]
"任天堂本社情報通達部"に該当するページが見つかりませんでした。
"任天堂情報通達部"に該当するページが見つかりませんでした。
"情報通達部"に該当するページが見つかりませんでした。


>会社・学校・友人・親・親戚への連絡を行う場合があります。
これ結構発想が古いよな
おっさんかな?とも思ったけど
情報通達部とかネーミングが安直杉て大人の考えた文章にも見えない

525 名前:名前は開発中のものです。 mailto:sage [2006/03/22(水) 15:43:49 ID:xfpFN+qP]
春だから変なのが出てきたな

526 名前:名前は開発中のものです。 mailto:sage [2006/03/22(水) 22:30:28 ID:GCp07UCj]
>>524
つーか、ワンクリック詐欺のメールによくある文面じゃないか?

527 名前:名前は開発中のものです。 [2006/03/23(木) 06:40:59 ID:yzl+UCcc]
GBAのソフト作りたいんですが、既にGBAプログラミング研究所は閉鎖?
っぽいですね。
PC用とiアプリくらいしか作ったことなくて
メモリを書き込むとかピンとこないんですが
私でもできますかね?
一応調べてはいるんですが、なかなか良いサイトもなくて。
みなさんはどうやって調べてますか〜?

528 名前:名前は開発中のものです。 mailto:sage [2006/03/23(木) 08:38:46 ID:hqVbe+bQ]
>>527
つ Google

529 名前:名前は開発中のものです。 [2006/03/23(木) 08:44:08 ID:yzl+UCcc]
527です。
コンパイルくらいは出来るようにと思い、挑戦してみました。
devkitadvを使っています。
パスは通せていると思うのですが、コンパイルしようとすると

'gcc' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

と言われます。

明らかに失敗しているんですが、理由がわかりません。
私がディレクトリ構造が解っていないからでしょうか?
今はc:\devkitadv\{include,bin,arm-agb-elf,lib}という感じになっています。
devkitadv内のディレクトリの中はイジってません。



530 名前:名前は開発中のものです。 mailto:sage [2006/03/23(木) 09:06:24 ID:dQR3ranb]
>>529
なんでその状態で「パスが通せている」なんて思うんだ?

531 名前:名前は開発中のものです。 [2006/03/23(木) 10:01:02 ID:yzl+UCcc]
>>530
申し訳ない、書き方が悪かったです(;´瓜`)
やり方は間違っていないと思うのですが、という意味でした。
XPだとDOSからパス通せないんですね(´・ェ・`)
研究所のキャッシュから何とかできました。

コンパイルなんですが、
int main(){}
に warning: no newline at end of file って返してきます。
これってドコガおかしいのでしょう?

他にも下のように返してきます、私にはよくわからないんですが。

/cygdrive/c/devkitadv/bin/../lib/gcc-lib/arm-agb-elf/3.0.2/../../../../arm-agb-e
lf/bin/ld: cannot open crt0.o: No such file or directory
collect2: ld returned 1 exit status

crt0.oファイルが場所がわからずに開けないって事ですかね?

テキストファイルの拡張子をelfとして、出力されるであろう場所に
先にファイルを保存してからコンパイルしてみたらファイルが消えたので
アクセスしてはいるんですが…。

何度もすいません(=;ェ;=)

532 名前:名前は開発中のものです。 mailto:sage [2006/03/23(木) 10:20:27 ID:4oHn/BWJ]
>コンパイルなんですが、
>int main(){}
>に warning: no newline at end of file って返してきます。
>これってドコガおかしいのでしょう?

えっと、これは多分
int main(){}[EOF]
になってるからじゃないかな?
int main(){}[改行]
[EOF]
にすればいいんじゃねーの?

533 名前:名前は開発中のものです。 mailto:sage [2006/03/23(木) 10:59:35 ID:4oHn/BWJ]
あとgccじゃなくてarm-agb-elf-gccでコンパイルしてる?
%find /cygdrive/c/devkitadv -name crt0.o
でなんて表示される?
#これはcrt0.oを/cygdrive/c/devkitadv以下から検索するコマンドです

gcc(arm-agb-elf-gcc)がリンカ(arm-agb-elf-ld)をどうやって検索して
リンクするファイルを決定してるんだっけ?binutilsの知識が足りないから良くわかんないや
いっつも何も考えずに
%make
するだけだから・・・


534 名前:名前は開発中のものです。 mailto:sage [2006/03/23(木) 11:11:31 ID:4oHn/BWJ]
リンク用スクリプトはこれかな?
(インストールディレクトリ)/ctrls/lnkscripts


535 名前:名前は開発中のものです。 mailto:sage [2006/03/23(木) 12:44:58 ID:sIg8RrCZ]
devkitproならインストーラあるからそっちのほうが楽じゃね?
サンプルもついてるし

536 名前:名前は開発中のものです。 mailto:sage [2006/03/23(木) 14:34:43 ID:T8UKKPq0]
スーパーカードSDってミクロでも使えるのか?
ミクロで使いたいんで買おうかどうか迷ってるんだが。

537 名前:名前は開発中のものです。 mailto:sage [2006/03/23(木) 15:25:44 ID:o1aF/CaP]
>>536
game10.2ch.net/test/read.cgi/handygame/1141201889/

538 名前:sage [2006/03/24(金) 02:14:18 ID:ImOqKFUg]
529です。
プログラム中の改行の問題は>>532の通りでした。ありがとうございます(><

crt0.oの問題についてですが、こちらは改善しませんorz
crt0.oというファイルがディレクトリ内にあるのでしょうか?
私はファイル検索にひっかかりませんでした。

>>533
arm-agb-elf-gccでコンパイルしても結果は同じでした。
やはりcrt0.oというファイルがないとダメなんですかねぇ(;´瓜`)
zip展開してディレクトリまとめただけなんですけどねぇ(´・ω・`)

539 名前:sage [2006/03/24(金) 03:24:57 ID:ImOqKFUg]
名前: sage
E-mail:
内容:
>>538下がって無かった(´・ェ・`)
なんとか、自己解決しましてgbaファイルの出力までこぎつけました。
cannot find lc とか言われましたがgoogleの文面でなんとかできました。

それでコンパイルに関しては一応できたのでいいんですがディレクトリ構造について質問です。
コンパイルまでにいくつかファイルを移動しなければなりませんでした。
今は
下記のようになっているんですが、いくつか同じディレクトリ名のものが
ありますがこれは正常なのでしょうか?
これは同一ディレクトリとしてまとまっていなければいけないのでしょうか?

これからまた問題が起こる様だと嫌なので(゚Д゚;)
全然GBA開発っぽい質問じゃないですね、申し訳ないorz





540 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 03:25:32 ID:ImOqKFUg]
☆参照
C:\DEVKITADV
├─arm-agb-elf
│ ├─bin
│ └─lib
│   ├─interwork
│   ├─ldscripts
│   └─thumb
│     └─interwork
├─bin
├─ctrls
├─include
│ └─g++-v3
│   ├─arm-agb-elf
│   │ └─bits
│   ├─backward
│   ├─bits
│   └─ext
└─lib
  └─gcc-lib
    └─arm-agb-elf
      └─3.0.2
        ├─include
        ├─interwork
        └─thumb
          └─interwork


541 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 09:41:39 ID:VA7n455u]
せっかくなので自分の環境TREE晒してみる。
C:\GBA\DEVKITADV
├─arm-agb-elf
│ ├─bin
│ ├─include
│ │ ├─machine
│ │ └─sys
│ └─lib
│ ├─interwork
│ ├─ldscripts
│ └─thumb
│ └─interwork
├─bin
│ ├─bin2o
│ └─old
├─include
│ └─g++-v3
│ ├─arm-agb-elf
│ │ └─bits
│ ├─backward
│ ├─bits
│ └─ext
└─lib
└─gcc-lib
└─arm-agb-elf
└─3.0.2
├─include
├─interwork
└─thumb
└─interwork







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<221KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef