検索結果 128 件: マップチップ

検索クエリ: マップチップ

by おり
11ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: マップチップスクロールについて
返信数: 2
閲覧数: 4069

Re: マップチップスクロールについて

... x, y; int i, j; void bg_Init() { bg_image1 = LoadGraph("画像/ゲーム背景.png"); bg_image2 = LoadGraph("画像/ゲーム背景.png"); x = MARGIN; mapChip = LoadGraph("画像/マップチップ 32.png"); } void bg_Update() { x -= SCROLL_SPEED; if (x == -640 + MARGIN) { x = -10; } } void bg_Draw() { DrawGraph(x, y, bg_image1, TRUE); DrawGraph(x+640, ...
by おり
11ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: マップチップスクロールについて
返信数: 2
閲覧数: 4069

マップチップスクロールについて

簡単なゲーム制作をしているのですが、背景と別にマップチップをスクロールする方法がわかりません、、 ご助力いただけないでしょうか…? 一応背景スクロール、マップチップの表示まではできているのですが… #include"all.h" #define SCROLL_SPEED 2 #define MARGIN 10 static int bg_image1; static int bg_image2; static int mapChip; //画面座標 int x, ...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ上で追跡する敵を4方向移動にしたい
返信数: 3
閲覧数: 4318

Re: マップチップ上で追跡する敵を4方向移動にしたい

オフトピック
それはそれとして,「マップチップ云々…」という言葉から勝手に想像するに,
実際にゲームを作るとなると,ルール的に「敵が侵入できないマス」とかが設けられることが予想されるので,

(1) 敵の移動先候補を列挙する
 単純な例で言えば,今の座標の上下左右の4カ所のうち,侵入できる箇所であって且つ追跡対象との距離が近くなる箇所
(2) 列挙された中から実際の移動先を選ぶ

みたいな手続きにしておくと良いのかもしれない.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ上で追跡する敵を4方向移動にしたい
返信数: 3
閲覧数: 4318

Re: マップチップ上で追跡する敵を4方向移動にしたい

> いろいろと調べたのですが …… 見つけられませんでした。 よく目にする文言だけど,何をどう調べたのかは絶対に明かされない不思議! Xが左右方向でYが上下方向なのだとして, (1) Y座標を固定してX座標だけを動かせば「左右のみ」になる. (2) X座標を固定してY座標だけを動かせば「上下のみ」になる. (3) X座標とY座標とを同時に変更すると「斜め」に移動することになる. という3点は明らかであると思うのだが,どうだろうか. 「明らかでない」というならば,自分はちょっともうこれ以上簡単に説明できないです. 「明らかである」ならば,上下左右のみに限定したいなら(3)が起きないようにすればよ...
by Ouxiy
1年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ上で追跡する敵を4方向移動にしたい
返信数: 3
閲覧数: 4318

Re: マップチップ上で追跡する敵を4方向移動にしたい

https://dixq.net/g/03_01.html
のサイトでは左右上下があります。
何かお力になれば幸いです。
by GEN3
1年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ上で追跡する敵を4方向移動にしたい
返信数: 3
閲覧数: 4318

マップチップ上で追跡する敵を4方向移動にしたい

初めまして。初めて掲示板を利用するので不備があったら言ってください。 Dxライブラリでプレイヤーを追いかけるゲームを作っています。 マップチップを使って敵とプレイヤーの座標を比較して移動しています。 追跡する敵の移動方向を上下と左右のみにしたいです if (abs(PlayerX - EnemyX) <= 3 && abs(PlayerY - EnemyY) <= 3) { if (EnemyX < PlayerX)EnemyX += 1; if (EnemyX > PlayerX)EnemyX -= 1; ...
by hasami0209
1年前
フォーラム: C言語何でも質問掲示板
トピック: 横スクロールがわかりません
返信数: 1
閲覧数: 3276

横スクロールがわかりません

... using namespace GameLib; using namespace input; //<define> #define MAP_SIZE_H (15) #define MAP_SIZE_W (20) #define STAGE_SIZE_W (MAP_SIZE_W*4) //マップチップ char map[MAP_SIZE_H][STAGE_SIZE_W] = { {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, ...
by Math
1年前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 11925

Re: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。

... //ステージ初期化 void InitStage(){ も DXライブラリーのサンプルも https://dxlib.xsrv.jp/dxprogram.html#N3 // マップ表示基本 #include "DxLib.h" #define MAP_SIZE 64 // マップチップ一つのドットサイズ #define MAP_WIDTH 10 // マップの幅 #define MAP_HEIGHT 8 // マップの縦長さ // マップのデータ int MapData[ MAP_HEIGHT ][ MAP_WIDTH ] = { { 0, 0, 0, 0, 0, ...
by 紫孝太郎
1年前
フォーラム: C言語何でも質問掲示板
トピック: Draw()、手前に描画されるはずがされない。
返信数: 1
閲覧数: 544

Draw()、手前に描画されるはずがされない。

... なのに、Aが優先されて描画されています。 なぜですか? 画像BはY座標に数値を加えて描画しています。 それがどのように作用して、結果Aの画像しか描画されていない状況になるのか 説明して頂けないでしょうか、すみません。 void Stage::Draw(){  //二次元配列マップチップ描画   for(int i=0; i<m_line; i++){    for(int j=0; j<m_col; j++){     DrawGraph(MapChip[i][j].x,MapChip[i][j].y,画像A, false); DrawGraph(MapChip[i][j].x,MapChip[i][j].y+16,画像B, ...
by 紫孝太郎
1年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の描画でどうしてもわかりません。
返信数: 13
閲覧数: 1926

Re: 画像の描画でどうしてもわかりません。

... [j].x,MapChip [j].y-16,Graph[high_No], true); に書き換えると、描画されるんです、、、、、、 y+16をy-16にすると描画されるんです。 極端な例でいうと、 void Stage::Draw(){  //二次元配列マップチップ描画   for(int i=0; i<m_line; i++){    for(int j=0; j<m_col; j++){   DrawGraph(MapChip[i][j].x,MapChip[i][j].y+16,Graph[high_No], false);   }  } ...
by 紫孝太郎
1年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の描画でどうしてもわかりません。
返信数: 13
閲覧数: 1926

画像の描画でどうしてもわかりません。

... 厳密に言えば、low_Noの描画処理をコメントアウトすると「おまけ」が描画されるので、 low_Noの描画が「おまけ」の上に描画されてしまっている模様。 なぜ、そんな状況になるのかがわかりません。 void Stage::Draw(){  //二次元配列マップチップ描画   for(int i=0; i<m_line; i++){    for(int j=0; j<m_col; j++){     if(MapChip[i][j].A_flg){        DrawGraph(MapChip[i][j].x,MapChip[i][j].y,Graph[low_No], ...
by just_started_PG
1年前
フォーラム: C言語何でも質問掲示板
トピック: メニュー画面でのバグ
返信数: 15
閲覧数: 1913

Re: メニュー画面でのバグ

... int color[3];//文字色格納配列 int now_mode = 6;//現在のモード変数(topが6になるため初期値は6) int now_eve = 0;//実行するイベントを格納 int map_chip[2][152];//画像格納用配列(マップチップ用) //マップ用の移動キャラ画像が12枚あるため12枚今は //1キャラしかいないので左の配列は1とする。 int s_pos_x = 0;//主人公の現在地座標x(よこ)(セーブ) int s_pos_y = 0;//主人公の現在地座標y(たて)(セーブ) int s_vector ...
by just_started_PG
1年前
フォーラム: C言語何でも質問掲示板
トピック: メニュー画面でのバグ
返信数: 15
閲覧数: 1913

メニュー画面でのバグ

... int color[3];//文字色格納配列 int now_mode = 6;//現在のモード変数(topが6になるため初期値は6) int now_eve = 0;//実行するイベントを格納 int map_chip[2][152];//画像格納用配列(マップチップ用) //マップ用の移動キャラ画像が12枚あるため12枚今は //1キャラしかいないので左の配列は1とする。 int s_pos_x = 0;//主人公の現在地座標x(よこ)(セーブ) int s_pos_y = 0;//主人公の現在地座標y(たて)(セーブ) int s_vector ...
by sujiniku
2年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでの画像のダブルバッファが分からない
返信数: 19
閲覧数: 3034

Re: Win32APIでの画像のダブルバッファが分からない

... マップサイズの読み込む hbmp = CreateCompatibleBitmap(hdc, 640+100, 480+100); SelectObject(hbackDC, hbmp); // hbackDCにマップサイズを読み込ませている DeleteObject(hbmp); // マップチップ画像をファイルから読み込む hbmp = (HBITMAP)LoadImage(NULL, TEXT("mapchip_grass.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION); hMdc = CreateCompatibleDC(hdc); ...
by sujiniku
2年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでの画像のダブルバッファが分からない
返信数: 19
閲覧数: 3034

Re: Win32APIでの画像のダブルバッファが分からない

... hbmp; // マップサイズの読み込む hbmp = CreateCompatibleBitmap(hdc, 640, 480); SelectObject(hbackDC, hbmp); // hbackDCにマップサイズを読み込ませている DeleteObject(hbmp); // マップチップ画像をファイルから読み込む hbmp = (HBITMAP)LoadImage(NULL, TEXT("mapchip_grass.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION); hMdc = CreateCompatibleDC(hdc); ...
by sujiniku
2年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでの画像のダブルバッファが分からない
返信数: 19
閲覧数: 3034

Re: Win32APIでの画像のダブルバッファが分からない

... hbmp = (HBITMAP)LoadImage(NULL, TEXT("mudai.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION); SelectObject(hCDC, hbmp); //マップチップ画像をファイルから読み込む hbmp = (HBITMAP)LoadImage(NULL, TEXT("mapchip_grass.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION); hMdc = CreateCompatibleDC(hdc); ...
by sujiniku
2年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでの画像のダブルバッファが分からない
返信数: 19
閲覧数: 3034

Re: Win32APIでの画像のダブルバッファが分からない

... hbmp = (HBITMAP)LoadImage(NULL, TEXT("mudai.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION); SelectObject(hCDC, hbmp); //マップチップ画像をファイルから読み込む hbmp = (HBITMAP)LoadImage(NULL, TEXT("mapchip_grass.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION); hMdc = CreateCompatibleDC(hdc); ...
by 刄汰
2年前
フォーラム: C言語何でも質問掲示板
トピック: 画像表示について
返信数: 1
閲覧数: 550

画像表示について

初めましてです。 最近C言語を学びはじめていて、DXライブラリを使って勉強をしています。 今、このサイトでの→http://dxlib.o.oo7.jp/ サンプルプログラムを参考にさせていただいているのですが マップチップ?でのプレイヤーの画像表示ができずにいます。 今はプレイヤーの表示をDrawBoxで描画しているのですが、DrawGraphで どのように書けばいいのか分からないので、ヒントをお願いします。 // アクションサンプルプログラムメイン int ActMain(void) { // 描画先を裏画面にセット SetDrawScreen(DX_SCREEN_BACK); ...
by usao
3年前
フォーラム: C言語何でも質問掲示板
トピック: パックマン風ゲームにおける当たり判定について
返信数: 49
閲覧数: 16366

Re: パックマン風ゲームにおけるワープ通路の実装の仕方がわからない。

ふぅむ,「マップチップ」という言葉の定義が,私と質問者様とで異なっているように見受けるので, 私側の定義を別名で「マップチップU」と記します. 「マップチップU」とは: (1)ゲームフィールドをマス目の集合として考える (2)各マス目は,その場所に関する{通路,壁,このマスに侵入したら別の地点にワープすべき,…}というような属性値を持つ (3)あるキャラクタの座標から,そのキャラクタの存在位置に対応するマス目を特定してそのマス目の属性値を調べることにより, ...
by keito94
3年前
フォーラム: C言語何でも質問掲示板
トピック: パックマン風ゲームにおける当たり判定について
返信数: 49
閲覧数: 16366

Re: パックマン風ゲームにおけるワープ通路の実装の仕方がわからない。

usao さんが書きました:
usao さんが書きました:
オフトピック
マップチップ」というデータ形式の概念に,
> 画像
なんてものは無関係だと思うが…
まあ、たしかにそうですよね…。

僕が言いたいことを順におって説明すると、
①ワープトンネルを表すマップチップを作った。(ここまではOK)
②でも、マップチップがあるところに画像を表示させる方法しか知らない。(screen.blitやRectやらで大苦戦している。)
③だからここで質問している。
…となります。
by usao
3年前
フォーラム: C言語何でも質問掲示板
トピック: パックマン風ゲームにおける当たり判定について
返信数: 49
閲覧数: 16366

Re: パックマン風ゲームにおけるワープ通路の実装の仕方がわからない。

オフトピック
マップチップ」というデータ形式の概念に,
> 画像
なんてものは無関係だと思うが…
by Dixq (管理人)
3年前
フォーラム: C言語何でも質問掲示板
トピック: マップ管理ツールをDXlibの様なもので作る際の考え方について。
返信数: 10
閲覧数: 2952

Re: マップ管理ツールをDXlibの様なもので作る際の考え方について。

長い・・全部読めてないのですが、マップチップからマップデータ作成する需要って沢山あるのでわざわざ作らなくても既にツールあるんじゃないでしょうか。 ってことで「マップチップ 作成 ツール」で検索したらこんなもの出てきましたが http://www.mapeditor.org/ http://forest.watch.impress.co.jp/docs/review/591792.html こういう他人が作ったツールを使うのじゃだめなのでしょうか? DXライブラリはDirectXで描画する関係のまわりを簡易にしたものでありゲームそのものを作らないのであればかえって非効率です。 ...
by fm
3年前
フォーラム: C言語何でも質問掲示板
トピック: 横スクロールのアルゴリズムについて
返信数: 6
閲覧数: 1106

Re: 横スクロールのアルゴリズムについて

理解する時間をいただきたいです。 A ですか。こちらはスクリーンの縦と横をそれぞれマップチップの一片で割った値で座標を計算し、四角形を並べているんですよね。 B こちらはjiki(自機?)の座標や、スクロールの座標(おそらく画面左端の座標)を取得し、自機の座標が画面中央になるようスクロールの座標を変える、、、と言った感じでしょうか? お手数ですが、違っていたらご指摘願います。 C 合っています。正解です。 では、スクリーンの縦と横をマップチップの一辺で割った値は、いくつになるかというと、 ...
by 掛布団
4年前
フォーラム: C言語何でも質問掲示板
トピック: Platinumで作成したマップの読み込みについて
返信数: 2
閲覧数: 403

Re: Platinumで作成したマップの読み込みについて

Plutinumでマップを作成する際、 8bitのときは、マップチップ画像(まとまったもの)を左上から32ピクセルずつ横に16個、縦に16個分割しています。 それぞれのマップチップには番号が振られており、左上から0,1,2,...,15一段降りて左から16,17,18,...と振られています。 この16X16に分割されたマップチップのパーツから選んで、全体のマップを作り上げていきます。 完成した物fmf形式で保存すると、ファイルの情報+各レイヤーのマップチップ番号が保存されます。 ...
by namari
5年前
フォーラム: C言語何でも質問掲示板
トピック: windows apiでクリックできる画像の作り方
返信数: 5
閲覧数: 1472

windows apiでクリックできる画像の作り方

自作しているゲームのマップチップ配置ツクールを制作するためにwindows apiに手を出しました。 そこで、ある座標をクリックした後、分割マップチップ画像をクリックして、その座標にマップチップを配置するという一般的な作業を行おうと思っています。 ここで、ある画像をクリックしたことを認識することが必要です。 画像を配置すること(WM_PAINTで読み込んだ画像を描画する)、ボタンを配置すること(WM_CREATEでウィンドウを作り、WM_COMMANDで処理する)はできますが、 ...
by ゴンマサ
5年前
フォーラム: C言語何でも質問掲示板
トピック: strtokで分割した文字列のポインタへの格納について
返信数: 2
閲覧数: 1208

strtokで分割した文字列のポインタへの格納について

質問を閲覧頂ありがとうございます。 前回の質問では大変お世話になりました。 今回も宜しくお願い致します。  以下のコードでは、テキストファイルにマップのサイズ、マップチップ配列、 そして移動先のマップの書かれたテキストファイル名を記述し、 特定のマップチップに接触した場合、あらかじめポインタに設定しておいた、 移動先のマップの書かれたテキストファイル名を呼び出し、 そのマップデータを描画するというものです。 使用するテキストファイルの内容は一番下に記載させていただきました。 ビルドは通りますが、デバッグ中に移動するためのチップに接触すると ...
by 狐扇
5年前
フォーラム: C言語何でも質問掲示板
トピック: 自動生成ダンジョンについての質問です。
返信数: 9
閲覧数: 3142

Re: 自動生成ダンジョンについての質問です。

... {1,0,0,0,0,1,2,2,2,2,2,2,2,0,0,0,0,0,0,1}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, }; と二次元配列を書いてマップ作成をしていました。 マップチップ画像の何番がどこに来るのかを直接指定していたので、壁のあたり判定もきちんと動いていたんではないかと思いました。 それで、自動生成に組み替えたときにマップ描写の部分で for ( int j = 0; j < MAP_HEIGHT; j++) for ( int i = 0; i < ...
by ゴンマサ
5年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップの座標のピクセル単位での移動
返信数: 5
閲覧数: 1582

マップチップの座標のピクセル単位での移動

お世話になっております。 またご意見をいただきたく投稿いたしました。 現在マップチップをドット単位でスクロールさせようとしているのですが、うまく動作しません 以下の記述では MapData[ y + MapDrawPointY ][ x + MapDrawPointX ]という形で マップをスクロールさせていますが、これだとチップ単位での移動になってしまいます。 その後に続く DrawGraphの記述をいろいろと試してみましたが、描画される位置が変わるだけで マップチップ自体がピクセル単位で移動しているわけではありませんでした。 ...
by ゴンマサ
5年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップを使った、RPGのようなマップの斜め移動について
返信数: 2
閲覧数: 738

マップチップを使った、RPGのようなマップの斜め移動について

以前もこちらで質問させていただきました。宜しくお願いいたします。 マップチップを使ってRPGのようなマップを製作しています。 マップチップの種類は、通行可、通行不可、斜めに通行する、の三種類です。 通行可、通行不可のマップチップは作成できたのですが、斜め移動の通行だけできません。 座標がマップチップ内に入ると、ただ通るだけになってしまいます。 以下のコードは、どこかで見つけたコードを元に改良したものです。 マップチップ3にプレイヤーが上から下に向けて進入していった時だけ斜め移動するように記述したつもりです。 ...
by ふぉつ
6年前
フォーラム: C言語何でも質問掲示板
トピック: 水中移動
返信数: 9
閲覧数: 1318

水中移動

水中移動用のプログラムを書きたく マップチップ表で水中である部分は6とし、その6の範囲にきたら キャラの移動方法が変わる、という風に書いたつもりなんですが いざビルドしてみると、マップチップ表が6かどうかの判断がされず 6の場所に来ても、キャラの動きに変動はなく、ふつうでした。。。 何が間違っているのでしょうか?? if(hantei[Nowmap].data[i][j]==6){ if(muki==4){ //上キーが押されたとき Movey--; } ...
by Tatu
6年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップにおけるテクスチャ貼り付け。
返信数: 20
閲覧数: 3062

Re: マップチップにおけるテクスチャ貼り付け。

... 変更点 ポリゴンをワープさせずに位置関係を維持したままポリゴン更新を行うようにした。 チップ配置処理を実装 クリック時のモード変更処理をコメントアウトし、チップ配置処理で置き換えた。 以下はその時のメモです。 なぜ、チップの配置を実装するよりも先にスクロールで悩んだのだろうかと思いましたが マップチップ描画用ポリゴンをワープさせる仕様のせいで どのマップチップ描画用ポリゴンにカーソルが重なっているかの判定が面倒になっているんですね。 どうおかしいのかわかりにくかったのでチップ配置処理を こちらで実装して確認しようとしたら気づきました。 前に書いたように原点がかさなっているマスをマップチップ描画用ポリゴン[0][0]が描画するようにし ...
by TOMY
6年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップにおけるテクスチャ貼り付け。
返信数: 20
閲覧数: 3062

Re: マップチップにおけるテクスチャ貼り付け。

... そもそもあの部分を完成させるのに2~3週間はかかってますからね・・・(何度も何度もトライアンドエラーしてようやく動いた。) ですがやっている事自体は理解できればなんとかなると思います。 条件自体は全部  チップの座標が画面外(画面端からCHIPSIZE / 2) + (もしくは-) 誤差(マップチップ表示領域 % CHIPSIZE) かつ、 チップが移動中(m_ScrollSpeedで判定) で成り立っていますので。 また計算が出来上がったとしても、更新(配列番号の再計算)がまだ解けてないので解決にはまだならないでしょう。 今ずっと考えて色々弄って入るのですが結局おかしい結果になるので。
by TOMY
6年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップにおけるテクスチャ貼り付け。
返信数: 20
閲覧数: 3062

マップチップにおけるテクスチャ貼り付け。

現在マップチップエディタを作成しているのですが、チップ画面描画時のテクスチャ貼り付けで深刻に詰まってしまったため質問させていただきます。 ですがその前に、プロジェクト自体だいぶソースコードが混んできて、一部分だけ取り出して理解してもらうというのがかなり難しいくなっているので、 一度zipでここに貼り付け、一度ソースを解読してもらった後、それぞれの機能や求めていること、追加したいことなどを説明させていただきます。 ご了承下さい。また説明がド下手糞なのでわかりづらいと思われる点にもご注意下さい。 ...
by heyman
6年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 7717

Re: 本格的なrpg マップ処理。

softya(ソフト屋) さんが書きました:動的と言いながらmallocしている以外固定値だと思います。
MAP_HEIGHTやMAP_WIDTHとmp.m_xn=5;とmp.m_yn=5;
それとint m_graph[20]; //画像を入れとく
やmp.m_graph[0]=LoadGraph( "マップチップ.png" ) ;
このプログラムで、例えば100x100サイズのマップとマップチップ画像50個の場合どうするんでしょうか?
マップチップのサイズと、マップチップの数や、その画像の名前はどうやって得ますかtxtファイルの先頭とかに書いとくのでしょうか?
by softya(ソフト屋)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 7717

Re: 本格的なrpg マップ処理。

動的と言いながらmallocしている以外固定値だと思います。 MAP_HEIGHTやMAP_WIDTHとmp.m_xn=5;とmp.m_yn=5; それとint m_graph[20]; //画像を入れとく やmp.m_graph[0]=LoadGraph( "マップチップ.png" ) ; このプログラムで、例えば100x100サイズのマップとマップチップ画像50個の場合どうするんでしょうか? プログラムを変更せずに20x20から1000x1000まで読み込める1つのプログラムを作ることを意識してください。 【補足】 読むマップ名が固定されていますが、これを可変にして次のマップを読めるようにした場合、次のマップを読むとメモリリークするのでメモリの解放も必要です。 ...
by C太郎
6年前
フォーラム: C言語何でも質問掲示板
トピック: このゲームに構造体を使いたいのですが
返信数: 2
閲覧数: 1457

このゲームに構造体を使いたいのですが

... int kn; //入力キー int sty,stx; //座標 int fy,fx; //マップ範囲 int jm[25][40]; //移動可不判定 char mapc[3]={0};//複写されたマップ構成情報 //カウント int y,x; //判定生成、座標生成・描写用 //マップチップ char mc[2][3]={ /*mc[0] 移動可能*/" ", /*mc[1] 移動不可*/"■"}; //マップ構成 (最大値 25行x40列) char map[][81]={ /*00*/"■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■", ...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: マップの木や建物などの描画方法について
返信数: 39
閲覧数: 8699

Re: マップの木や建物などの描画方法について

... 質問しといてすみません…… 今日一日チャレンジしてみましたが心が折れました……(´Д`;)ムリムリ 早く家の描画がやりたいこともあり、そちらを先にやることにしました というわけで 建物等の画像を分割する必要はありません。 地面のマップチップを描画するのと同じタイミングで、地面の座標を基準に建物の画像の高さ分上にズラした座標から建物の画像を描画するだけです。 マップチップ自体の大きさが変化すると考えていただくのが良いと思います。 このISLeさんのアドバイスをもとに家の描画に挑戦しました。 やっとでございます。 //マップデータの一次元配列 ...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: マップの木や建物などの描画方法について
返信数: 39
閲覧数: 8699

Re: マップの木や建物などの描画方法について

まず以下に張った 家の画像を今使っているチップの画像サイズに分割し、 それらを二次元配列で以下の様に描画すると言う事でいいのでしょうか? 建物等の画像を分割する必要はありません。 地面のマップチップを描画するのと同じタイミングで、地面の座標を基準に建物の画像の高さ分上にズラした座標から建物の画像を描画するだけです。 マップチップ自体の大きさが変化すると考えていただくのが良いと思います。 指定された座標に指定されたマップチップIDの画像が描画される仕組みになってさえいれば良いです。 独立した画像をポンとひとつ描くだけでも良いし、配列テーブルを元に複数の画像を組み合わせて描画するようになっていても良いです。 ...
by softya(ソフト屋)
7年前
フォーラム: C言語何でも質問掲示板
トピック: マップ情報を格納する上での合理性
返信数: 7
閲覧数: 1371

Re: マップ情報を格納する上での合理性

マップチップ1個をオブジェクトする必要性は置いておいて、メモリ容量は気にする必要はないレベルかと思いますが計算する癖は欲しいですね。 ただ、1000x1000のオブジェクトのnew/deleteの時間は結構掛かるかと思います。 一番気に成るのはマップのデータの持ち方です。 市販のゲームとかだとパーツが非常に複雑な情報を持っています。一例をご紹介します。 アニメーション情報だったり、当たり判定、ダメージ床など(書かれている壊れるや点滅も)、これらはアトリビュート(付加情報・属性)と言う考えでコンパクトに情報を表すことができます。つまり、パーツ番号ではな無くアトリビュート番号をマップ配列に書くと言う方法です。 ...
by 土門
7年前
フォーラム: C言語何でも質問掲示板
トピック: マップ情報を格納する上での合理性
返信数: 7
閲覧数: 1371

マップ情報を格納する上での合理性

... このふたつのやり方で考えられるメリット、デメリットを教えて頂ければ嬉しいです。 また、オブジェクトとして格納させるのは、 構造体として格納するのも同じですよね? 容量に変わりは出るでしょうか? ちなみに、オブジェクトの中では 画像を読み込んだり、格納したりはしていません。 マップチップ自体はゲームステージのクラスのコンストラクタにて読み込ませていて、 オブジェクト内のIDでどれを使うかを判断、表示させています。
by イマダニ
7年前
フォーラム: C言語何でも質問掲示板
トピック: クォータービューについて
返信数: 30
閲覧数: 5505

Re: クォータービューについて

... ベクトルのベの字も知らないぼくがそれをしっかり学んでからということで 今はソフト屋さんの穴埋め問題を解いて、クォーターの理解を深めたいと思います。 Idraさんわざわざ教えてくださったのにすみません…… で、この穴埋め問題を解く前に一つお尋ねしたいことがあります。 >>”ピクセルの座標系”と”マップチップ配列の座標系”が混同されています。 >>”クォータビューの座標系”での点を”スクリーンの座標系”を使って表現すると考えます。 座標系?一体なんなんだそれはぁーっ!? 初耳すぎて驚きを隠せません。ゲームに使う座標には種類があるということですか? よければその”座標系”について詳しく教えてもらえませんか?
by softya(ソフト屋)
7年前
フォーラム: C言語何でも質問掲示板
トピック: クォータービューについて
返信数: 30
閲覧数: 5505

Re: クォータービューについて

ピクセルの座標系とマップチップ配列の座標系が混同されています。 DrawGraphで使うのはピクセルの座標系。 CHIP_X(x+y)は、マップチップ配列の座標系からピクセル座標系に変換するための式です。 と思ったらCHIP_X(x+y)だと式に問題が有る気がします。私が間違った様ですね。 と言うことで、ちゃんと一緒に考えみましょう。 穴埋め問題です。次のP01,P02,P10,P11,P12のマップチップを表示させる座標を書きだしてください。 [0][0]とかマップチップ配列の添字番号です。 ...
by yaegasi
7年前
フォーラム: C言語何でも質問掲示板
トピック: 壁に当たったら反射させたい
返信数: 10
閲覧数: 1151

壁に当たったら反射させたい

敵を壁に当たったら反射させたいんですがうまくいきません すいませんが教えてください・・・・ // マップスクロール基本 #include "DxLib.h" #define MAP_SIZE 32 // マップチップ一つのドットサイズ #define MAP_WIDTH 20 // マップの幅 #define MAP_HEIGHT 16 // マップの縦長さ // マップのデータ int MapData[ MAP_HEIGHT ][ MAP_WIDTH ] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, ...
by 楽しいC
8年前
フォーラム: C言語何でも質問掲示板
トピック: Platinumでマップ表示
返信数: 49
閲覧数: 3306

Re: Platinumでマップ表示

ありがとうございます。


//GV.h

//マップデータ
struct MapData{
char img[15][80]; //文字列データ
int img_int[15][20];//数値
int chip[18]; //マップチップ
char data[370];
int img_flag; //画像があるかどうか
FILE *fp;
};

です。
テストなので、添え字に直接数字を入れています。
by きずなん
8年前
フォーラム: C言語何でも質問掲示板
トピック: 広いマップの当たり判定
返信数: 11
閲覧数: 1523

Re: 広いマップの当たり判定

なるほどなるほど・・・
労力も大変だしメモリも食うしやっぱりレイヤーを勉強しようと思います。

Platinumの使い方について質問ですが、
例えば1層(マップチップ画像配置)、2層(判定用のナンバー)、のようにつけて
その1層の情報、2層の判定用ナンバーを読みこむようなことはできるんでしょうか?
それさえ出来ればいいんですが。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: 背景スクロールについて
返信数: 7
閲覧数: 1356

Re: 背景スクロールについて

背景画像サイズのタイルが横に2つ並んだマップを円筒スクロールすると考えれば、タイルマップ(マップチップ)描画と同じなんですけどね。
by gran
8年前
フォーラム: C言語何でも質問掲示板
トピック: RPGツクール風のマップ描画
返信数: 1
閲覧数: 553

RPGツクール風のマップ描画

課題が出ました。 マップチップ配置データを基にマップを描画するコードを下記の条件および手順にしたがって説明をしてください。 1.プログラム1のマップ描画コードはまだ部分描画を行うためのコードが実装されていません。そこでまず下記の プログラム1のマップ描画コード を使って、マップ全体をマップ表示領域に描画するコードの説明をしてください。 2.プログラム2のマップ描画コードには部分描画を行うためのコードが実装されています。そこで次は下記の プログラム2のマップ描画コード ...
by softya(ソフト屋)
8年前
フォーラム: C言語何でも質問掲示板
トピック: objective-cでRPG開発
返信数: 19
閲覧数: 1556

Re: objective-cでRPG開発

Windows系の人なのでMac系の描画関数は不明ですが、map[0][1];やmap[1][0];で得られるのはマップチップ(マップパーツ)の番号でプレーヤーの座標ではありません。 まず、マップチップの番号、マップチップ座標、マップの座標、プレーヤーの座標、表示座標などの区別が出来ていないと思われます。 それとmap[y][x]はobjective-cの前に基本であるC言語の理解が不十分だと思いますので、まず配列や構造体は理解されたほうが良いと思いますよ。その上でゲームプログラミングの基本から勉強されることをお勧めします。 ...
by ぱにしん
8年前
フォーラム: C言語何でも質問掲示板
トピック: 再帰呼び出しについて
返信数: 8
閲覧数: 1253

Re: 再帰呼び出しについて

関数呼び出し毎に、リストを線形探索して対応する座標のマップチップを取得していますが、 マップチップのリストを vector<vector<CMapTip *> > ListOfMapTip; // TipじゃなくてChip? のように2次元配列で保持すれば、マップチップ自身が座標を保持しなくても、 ListOfMapTip[y][x]->XXXのように、添字で対応する座標のマップチップを取得できると思いますが、どうでしょうか。 std::mapを使うのも手ですね. ...
by beatle
8年前
フォーラム: C言語何でも質問掲示板
トピック: 再帰呼び出しについて
返信数: 8
閲覧数: 1253

Re: 再帰呼び出しについて

関数呼び出し毎に、リストを線形探索して対応する座標のマップチップを取得していますが、 マップチップのリストを vector<vector<CMapTip *> > ListOfMapTip; // TipじゃなくてChip? のように2次元配列で保持すれば、マップチップ自身が座標を保持しなくても、 ListOfMapTip[y][x]->XXXのように、添字で対応する座標のマップチップを取得できると思いますが、どうでしょうか。 std::mapを使うのも手ですね. ...
by ぱにしん
8年前
フォーラム: C言語何でも質問掲示板
トピック: 再帰呼び出しについて
返信数: 8
閲覧数: 1253

Re: 再帰呼び出しについて

関数呼び出し毎に、リストを線形探索して対応する座標のマップチップを取得していますが、 マップチップのリストを vector<vector<CMapTip *> > ListOfMapTip; // TipじゃなくてChip? のように2次元配列で保持すれば、マップチップ自身が座標を保持しなくても、 ListOfMapTip[y][x]->XXXのように、添字で対応する座標のマップチップを取得できると思いますが、どうでしょうか。 そうですね・・・vectorではなくlistで作ってたので添字で要素にアクセス出来なかったのです。 ...
by a5ua
8年前
フォーラム: C言語何でも質問掲示板
トピック: 再帰呼び出しについて
返信数: 8
閲覧数: 1253

Re: 再帰呼び出しについて

関数呼び出し毎に、リストを線形探索して対応する座標のマップチップを取得していますが、
マップチップのリストを

コード:

vector<vector<CMapTip *> > ListOfMapTip; // TipじゃなくてChip?
のように2次元配列で保持すれば、マップチップ自身が座標を保持しなくても、
ListOfMapTip[y][x]->XXXのように、添字で対応する座標のマップチップを取得できると思いますが、どうでしょうか。
by softya(ソフト屋)
8年前
フォーラム: C言語何でも質問掲示板
トピック: RPGマップ描画、一々読み込みは不可?
返信数: 6
閲覧数: 1280

Re: RPGマップ描画、一々読み込みは不可?

>>ソフト屋さん いつもお世話になってます!日記、読ませて頂いています。 ご愛読、ありがとうございます。 あぁっと書き方が悪かったですね。 レイアウトの自由度を望むなら一枚画像の方式を採用したほうが良いです。 当たり判定とかを単純化したいのならマップチップ方式が良いと思います。 それとマップチップ方式を使うとすると背景(壁と床)と家具類が合成されるべき所が問題になるので、マップチップ方式ではレイヤー構造を採用しないとまずいです。 1レイヤーの単純マップチップ方式だと背景(壁と床)と一体になった画像を用意する必要が出てきて背景の自由な変更ができなくなります。 ...
by AI
8年前
フォーラム: C言語何でも質問掲示板
トピック: RPGマップ描画、一々読み込みは不可?
返信数: 6
閲覧数: 1280

Re: RPGマップ描画、一々読み込みは不可?

えっと…すみません、お二方のアドバイスをよく理解できていなくて… 自分の考える「マップチップ単位で」というのはこんな感じです。 1:マップ全体を単位に区切り、一行目×一列目のマスを配列の{0,0}に指定します。 2:一つの単位のマップチップ(花一つとか)を1つの変数に当てはめます。 3:2を、1の指定の場所に代入します。 このやり方で、インテリアを変更したいときは2の変数を変更していく感じです。 「画像一枚で」というのは、あらかじめ必要な画像をマップエディタとかで作っておいて、それを一枚だけ表示しスクロールする感じです。 ...
by 匿名希望
8年前
フォーラム: C言語何でも質問掲示板
トピック: 同じブロックを複数表示させる方法(更に修正版)
返信数: 7
閲覧数: 1018

同じブロックを複数表示させる方法(更に修正版)

... = _pDSound; Text.Init( pDevice, 0xFFFFFFFF, 10 ); // 変数の初期化(ファイル読み込み等) --------- //グラフィック表示 //Tex.Init(pDevice,"Texture/CharImg.png",320,240); // マップチップ MapChip[0].Init( pDevice , "ita.X" , "Mesh" , ANIM_FALSE ); // 背景 MapChip[0].Scale = 0.4f; MapChip[1].Init( pDevice , "saku.X" , "Mesh" , ANIM_FALSE ...
by 匿名希望
8年前
フォーラム: C言語何でも質問掲示板
トピック: 同じブロックを複数表示させる方法(修正版)
返信数: 3
閲覧数: 1259

同じブロックを複数表示させる方法(修正版)

... = _pDSound; Text.Init( pDevice, 0xFFFFFFFF, 10 ); // 変数の初期化(ファイル読み込み等) --------- //グラフィック表示 //Tex.Init(pDevice,"Texture/CharImg.png",320,240); // マップチップ MapChip[0].Init( pDevice , "ita.X" , "Mesh" , ANIM_FALSE ); // 背景 MapChip[0].Scale = 0.4f; MapChip[1].Init( pDevice , "saku.X" , "Mesh" , ANIM_FALSE ...
by 匿名希望
8年前
フォーラム: C言語何でも質問掲示板
トピック: 同じブロックを複数表示させる方法
返信数: 3
閲覧数: 539

同じブロックを複数表示させる方法

... = _pDSound; Text.Init( pDevice, 0xFFFFFFFF, 10 ); // 変数の初期化(ファイル読み込み等) --------- //グラフィック表示 //Tex.Init(pDevice,"Texture/CharImg.png",320,240); // マップチップ MapChip[0].Init( pDevice , "ita.X" , "Mesh" , ANIM_FALSE ); // 背景 MapChip[0].Scale = 0.4f; MapChip[1].Init( pDevice , "saku.X" , "Mesh" , ANIM_FALSE ...
by 匿名希望
8年前
フォーラム: C言語何でも質問掲示板
トピック: 同じブロックを繰り返して移動させる方法
返信数: 3
閲覧数: 453

同じブロックを繰り返して移動させる方法

... = _pDSound; Text.Init( pDevice, 0xFFFFFFFF, 10 ); // 変数の初期化(ファイル読み込み等) --------- //グラフィック表示 //Tex.Init(pDevice,"Texture/CharImg.png",320,240); // マップチップ MapChip[0].Init( pDevice , "ita.X" , "Mesh" , ANIM_FALSE ); // 背景 MapChip[0].Scale = 0.4f; MapChip[1].Init( pDevice , "saku.X" , "Mesh" , ANIM_FALSE ...
by softya(ソフト屋)
9年前
フォーラム: C言語何でも質問掲示板
トピック: 8方向自由に動くプレイヤーと菱形地形の当たり判定
返信数: 10
閲覧数: 1784

Re: 8方向自由に動くプレイヤーと菱形地形の当たり判定

マップチップ1つ辺り計算用座標では上下ともに32仮想単位離れているとしてはどうでしょうか?
移動は、その仮想単位で行います。

コード:

if( InputCount->RIGHT > 0 &&  //右を押している間
        MapHit[(FPlayer->HitY+12)/32][(FPlayer->HitX+36)/32]==1 && //キャラの右上に障害物
        MapHit[(FPlayer->HitY+36)/32][(FPlayer->HitX+36)/32]==1)  //キャラの右下に障害物
by Chalaza
9年前
フォーラム: C言語何でも質問掲示板
トピック: 8方向自由に動くプレイヤーと菱形地形の当たり判定
返信数: 10
閲覧数: 1784

Re: 8方向自由に動くプレイヤーと菱形地形の当たり判定

座標の計算用マップチップ配列と表示用マップチップ配列に分けてみたのですが、
この場合計算用マップチップはマス目が正方形で、表示用は菱形なので、移動方向が45度回転していますよね。
ということは計算用マップチップでキャラ座標を上に動かしたら表示座標では左上に動かすというような形で良いのでしょうか?
これだと表示座標の菱形は横に長いので計算用座標の斜め移動がルートになるので座標をdoubleとかにしなければいけませんかね。
by 白い時空
9年前
フォーラム: C言語何でも質問掲示板
トピック: 他のマップにチェンジする(マップを左右にスクロールさせる継)
返信数: 5
閲覧数: 703

Re: 他のマップにチェンジする(マップを左右にスクロールさせる継)

int Through[4] = { 1,0,0,1 };
みたいにして
Through[マップチップ] == 1
とマップチップを添字にして判断する手もあると思います。
by chalaza
9年前
フォーラム: C言語何でも質問掲示板
トピック: 他のマップにチェンジする(マップを左右にスクロールさせる継)
返信数: 5
閲覧数: 703

Re: 他のマップにチェンジする(マップを左右にスクロールさせる継)

代入できました。ありがとうございます。 一応背景が増えたときのために背景画像を配列にしてfor文で1画面分づつ右にならべて表示するようにしました。 マップチップや他画像をアニメーションさせるときは、どんなときでも増え続けてループする変数を用意してそれの数値に合わせてアニメーションさせようと 思っています。 そして扉についてなのですが…扉もマップチップの中に数値データとして組み込んだところで、 扉のマップチップ数値とキャラが重なっているときに上キーを押すとマップチェンジさせようと思っているのですが、まず、 今までののプログラムだとマップチップ数値が0のところしか通れないようになっているのですが、 ...
by 海Sea
9年前
フォーラム: C言語何でも質問掲示板
トピック: シューティングの素材サイト
返信数: 3
閲覧数: 8149

Re: シューティングの素材サイト

こんにちは!
お気に召すかどうかわかりませんが
下記のサイトなどどうでしょうか。
爆発のエフェクト、マップチップ、自機など一通り揃っています。
サイトの> STG用画像素材【MATERIALS】(試験公開中)
をクリックすると素材の場所へ行けます。

http://homepage2.nifty.com/hamcorossam/

おっと、追記であとこちらも

http://game.yu-nagi.com/index.htm
by a
9年前
フォーラム: C言語何でも質問掲示板
トピック: マップ移動の当たり判定
返信数: 5
閲覧数: 562

マップ移動の当たり判定

C言語でRPGを作ろうとしているのですが、どうしてもマップ移動の当たり判定がうまくできません。 どうしたら良いのでしょうか。 #include "DxLib.h" #define MAP_SIZE 32 // マップチップ一つのドットサイズ32 #define MAP_WIDTH 58 // マップの幅20 #define MAP_HEIGHT 22 // マップの縦長さ15 #define MOVE_FRAME 34 // 移動にかけるフレーム数 int map_port[480]; // マップのデータ int MapData[ MAP_HEIGHT ...
by そぬ
9年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリでの2Dマップの描画について。(RPG)
返信数: 1
閲覧数: 1797

DXライブラリでの2Dマップの描画について。(RPG)

現在以下の仕様でRPGのマップを作っております。    C言語+DXライブラリ    ウインドウサイズ : 800*600     チップサイズ : 32   マップスクロール : 可   マップサイズ : 1600*1600    マップチップ画像を32*32ピクセルに分割してロード(LoadDivGraph)                   ↓↓↓    あらかじめ定義しておいた2次元配列に従って描画。(DrawGraph) RPG作成の入門サイト等に載っている至極基本的な方法だと思いますが、 32*32ピクセルという小さな画像を1フレーム中に何度も何度もDrawGraph()関数を使って描画していますので ...
by fey
9年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリでギミックを...
返信数: 15
閲覧数: 1414

Re: DXライブラリでギミックを...

マップチップ2台の上からジャンプして横から当たるとその台の中に入ってしまいます。
同化する、と言ったほうが正しいかもしれません。
by ookami
10年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ
返信数: 2
閲覧数: 240

Re:マップチップ

http://www.tekepon.net/fsm/
などいかがでしょうか?
by LEGZE
10年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ
返信数: 2
閲覧数: 240

マップチップ

アクションゲームのマップチップをさがしております。
64×64ぐらいのサイズのマップチップなのですが見つかりません・・・。

もしご存知でしたらご紹介頂けないでしょうか?
by パコネコ
10年前
フォーラム: RPGを作りたい!
トピック: RPG作成に関するアンケート(旧)。
返信数: 19
閲覧数: 5945

Re: RPG作成に関するアンケート

さて、今日はネトゲーにはまる前に書くこと書いとこうと思います(笑)

>>画像/マップチップ/キャラクターって全部CGの事ですか?
CG?別にそんな難しいものというより、2Dの床やものや人、(32×32の大きさ)など基本はビットマップ(.bmp)で書いてたりです。
できれば自分でビットマップ同士をくっつけて保存してくれるツール作りたいのですが、画像を保存する関数もしくは命令がわからないんですよね。
自分で編集でもいいですが途中でずれるのもいやですし…

バランスはやっぱり後から編集ですよね・・・
後で編集しやすく作るのも腕の見せどころですし…
by softya(ソフト屋)
10年前
フォーラム: RPGを作りたい!
トピック: RPG作成に関するアンケート(旧)。
返信数: 19
閲覧数: 5945

Re: RPG作成に関するアンケート

... >(2)RPGを作るところの何処に難しさを感じますか?(想像でも可) の画像/マップチップ/キャラクターって全部CGの事ですか? 確かに「敵のバランス」は難しくて面倒です。私の経験からすると最後の最後に何度もプレイして頑張って調整するしか無いですね。 あと戦闘テストだけの裏シナリオ・マップを作るのも一つ方法です。ストーリーに沿ってシナリオすすめると時間がかかりますからね。
by パコネコ
10年前
フォーラム: RPGを作りたい!
トピック: RPG作成に関するアンケート(旧)。
返信数: 19
閲覧数: 5945

Re: RPG作成に関するアンケート

(1)RPGを作る夢、予定、作成中、作ったの何れかに該当されますか?まったく無いでもOKです。 ・作成中ですね (2)RPGを作るところの何処に難しさを感じますか?(想像でも可) ・画像 ・マップチップ ・キャラクター ・敵のぱらバランス (3)RPGを作ることの何処に魅力を感じますか? ・長さ (4)作るとしたらどんなRPGですか?(FFやDQやポケモン、イースなど具体的な名前で。) ・DQかな? (5)RPGを作る気はなくてもツールとかは作ってみたい方はいますか? ・最近RPG自体よりツールづくりばかりやってる気がする… (6)あるいは絵や音楽でも参加されたい方はいらっしゃいますか? ...
by Poco
10年前
フォーラム: C言語何でも質問掲示板
トピック: クォータービューでの描画とマップの配列のデータの持ち方について
返信数: 25
閲覧数: 2166

Re:クォータービューでの描画とマップの配列のデータの持ち方について

マップチップに対する配列のインデックスのつけ方がおかしい気がしたので、 とりあえず、描画ルーチンだけ直してみました。 微妙に求める結果と違いますが、もう考える気力がありません。 違いは以下のとおりです。  ・マウス座標→配列のインデックスへの変換で、XとYの結果が入れ替わっている  ・配列のインデックス(マップチップ座標)のY方向が微妙にずれている。 ---- void DrawBlock() { for ( int i = 0; i < ...
by MNS
10年前
フォーラム: C言語何でも質問掲示板
トピック: クォータービューでの描画とマップの配列のデータの持ち方について
返信数: 25
閲覧数: 2166

Re:クォータービューでの描画とマップの配列のデータの持ち方について

># MNSさん
>CHIP_WIDTHって何を表わすんですか?

私は、1グリッド(マップチップ単体)の幅として使用しました。
TKOZさんのコードから引用したものです。そのようなものとして使っていたのなら良いのですけれど。
by KEYONN_
10年前
フォーラム: C言語何でも質問掲示板
トピック: クォータービューでの描画とマップの配列のデータの持ち方について
返信数: 25
閲覧数: 2166

クォータービューでの描画とマップの配列のデータの持ち方について

... int image[100];//イメージ配列 int moveflag;//移動フラグ int selectnumber;//現在マウスで選択されているメニュー番号 int dir;//移動方向 int MoveMode;//移動状態 int Divimage[4];//4種類のマップチップのイメージ配列 Chara C;//主人公キャラの情報 public: SLGMode()//コンストラクタ(初期化関数) { xyz.x=256+128+128; xyz.y=224; show.x=256+128; show.y=224; menu.x=0; menu.y=0; ...
by KEYONN_
10年前
フォーラム: C言語何でも質問掲示板
トピック: スクロール
返信数: 4
閲覧数: 193

Re:スクロール

こんな感じでどうでしょう。 マップエディタは、C+WINAPIか、C#で作るか、フリーのものを使うとして、 Map[20][300];にマップチップ番号を代入してあげてください。 #define CHIP_SIZE 16 #define MAX_BLOCKX CHIP_SIZE*20 #define MAX_BLOCKY CHIP_SIZE*300 #define SCREEN_WIDTH 240 #define SCREEN_HEIGHT 320 typedef struct Map_{ int ChipNumber; ...
by softya
10年前
フォーラム: C言語何でも質問掲示板
トピック: アクションゲームの移動について
返信数: 12
閲覧数: 201

Re:アクションゲームの移動について

色々ありますよ。 (1)マップチップの番号で通れる通れないを管理する。 (2)マップチップ番号の情報配列を作って管理する。 マップチップ番号で通行可否・マップチップのアニメーション有無・前景背景などを管理。 (3)マップ配列→アトリビュート配列(マップ配列上の番号で参照)→マップチップ配列(アトリビュート配列の構造体に含まれるマップチップ番号で参照)と更に高機能化します。アトリビュート(属性)とは(2)でも書いた付随する情報のことですね。アトリビュートで通行可否・マップチップのアニメーション有無・前景背景のマップチップ番号などを管理ます。 ...
by ゴリ
10年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ
返信数: 5
閲覧数: 186

Re:マップチップ

... 勉強になりました。 Dixq(管理人さん) >> ありがとうございます。 私もそう思いやってみたのですが、画像が大きくなり、今使っているマップエディタでは使えなくなりました。 けれども、今使っているマップエディタは結構使いやすいので、あまり変えたくなかったのです。 なので32×32のマップチップを探そうと思ったのですが、予想以上に少ないですね^^; おそらく2倍に拡大する方法でやる事になります(別のマップエディタで…)。 皆さん、本当にありがとうございますm(_ _)m いくつか見つかりましたが、数が少ないので、 見つかったチップ+2倍に拡大したチップで作業を進めていくと思います。 ...
by Dixq (管理人)
10年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ
返信数: 5
閲覧数: 186

Re:マップチップ

普通に16x16を縦横2倍に拡大したのではダメですか?
by sophya
10年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ
返信数: 5
閲覧数: 186

Re:マップチップ

http://pygame.skr.jp/index.php?%E3%83%9 ... 8#i8e77cdf

ここにマップチップ関する内容があります。

また、画像関連のソフトツールは下記のリンでダウンロードできる。
http://www.flatworld.jp/list/304072_1.html
by ゴリ
10年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ
返信数: 5
閲覧数: 186

マップチップ

今ゲームを作っているのですが、(探し方が悪いせいなのか…)マップチップが見つかりません。
16×16のものはたくさん見つかったのですが、主人公が32ピクセルずつ進むので、
32×32のマップチップが欲しいです。
ちなみに、ゲームのジャンルはRPGです。
どなたか、そのようなマップチップがあるサイトなどを教えてください。

また、32×32のマップチップを使わなくても、16×16のマップチップで出来る方法を知っていましたら、
教えてください。

よろしくお願いしますm(_ _)m
by ライス
10年前
フォーラム: C言語何でも質問掲示板
トピック: RPGのマップについて
返信数: 9
閲覧数: 666

Re:RPGのマップについて

ありがとうございます。 >1)マップチップの表示に関しては、24章の当たり判定の配列と同じサイズのマップチップ番号の配列を用意してマップチップの番号を登録します。 2)マップチップ自体は、LoadDivGraphで読み込みます。 3)24章の白黒の代わりにマップチップ番号配列から番号を読んで該当するパーツを白い壁を描画と処理しているところで表示します。 上の方法はとりあえずできました。 >ただ、本格的に作るならマップのデータを作成するツールを使わないと大変面倒ですね。 ...
by softya
10年前
フォーラム: C言語何でも質問掲示板
トピック: RPGのマップについて
返信数: 9
閲覧数: 666

Re:RPGのマップについて

>よろしければ、続きの説明をよろしくお願いしますm(_ _)m 1)マップチップの表示に関しては、24章の当たり判定の配列と同じサイズのマップチップ番号の配列を用意してマップチップの番号を登録します。 2)マップチップ自体は、LoadDivGraphで読み込みます。 3)24章の白黒の代わりにマップチップ番号配列から番号を読んで該当するパーツを白い壁を描画と処理しているところで表示します。 まず、ここまでやってみてください。 ただ、本格的に作るならマップのデータを作成するツールを使わないと大変面倒ですね。 ...
by KEYONN_
10年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップの坂道について
返信数: 11
閲覧数: 721

マップチップの坂道について

こんばんは、TKOZです。 数ヶ月前に同じような質問をしたのですが、スレッドが下がってしまったのと、 また作りたくなったので質問します。 マップチップ内の当たり判定で坂道を移動させているのですが、どうしても 下記のP点でAの坂道にはまってしまいます。   P⊿←B □  ⊿←A □□ □□□□□□ どうすれば自然に坂道を登る事が出来ますでしょうか? アドバイスください。 あと、マップチップの番号が3のとき(右下り45度の坂)の時の判定が判定されるのですが、 地面にめり込んでしまいます。 これは何故なんでしょうか? ...
by kazuoni
10年前
フォーラム: C言語何でも質問掲示板
トピック: マップエディタ
返信数: 33
閲覧数: 497

Re:マップエディタ

> ただ、今のままだとクリックした場所 > すべてにマップチップが表示されてしまう この状況が良くわかりませんが、雰囲気で考えると、 クリックした場所が左上頂点として描写されるってことでしょか? とりあえず、自分ならば以下のように実装します。 マップチップ描写エリアを確保し、 そのデータ保存のためのメモリを配列で確保 ↓ クリックした場所が描写エリアのどの場所に相当するのか 条件分岐で求める ↓ 配列に画像データのハンドルを渡す (画像データハンドルよりは画像データハンドルを格納しているデータ番号のほうがよいかも) ...
by
10年前
フォーラム: C言語何でも質問掲示板
トピック: マップエディタ
返信数: 33
閲覧数: 497

Re:マップエディタ

すいません
書き方が悪かったです。
つまり、

マップチップ表示部の、
描画したいマップチップをクリック

例えば X=16~32、Y=0~16 画像の左上のほうの
「たたみ」の部分をクリックする。
   ↓
「たたみ」の部分の分割した番号〔この場合は1〕をiに保存
   ↓
DrawGraph( MouseX , MouseY , Mp_testchip[ i ] , TRUE ) ;
こういう感じでポインタの位置に表示できるように
用意しておき、クリックと同時に描画する。

画像
by
10年前
フォーラム: C言語何でも質問掲示板
トピック: マップエディタ
返信数: 33
閲覧数: 497

Re:マップエディタ

バグさんのイメージが、 自分の考えていたイメージに似ていたので、 イメージ通りになるように考えてみました。 画面を分けるために、 if( ( MouseX ) >= 250 ) { DrawPixel( MouseX , MouseY , Cr ) ; } こんな感じでうまくいったのですが、 マップチップの選択方法について、 悩んでいて・・・・・・ 画像のような一まとめにしたマップチップの画像の一部を マップチップ選択部をクリックし、 16×16位の小さな画像に分割・メモリに保存/上書きして、 マップ描画部で、クリックしたところに描画する。 LoadDivGraph を使って分割して読み込めば、 ...
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: マップエディタ
返信数: 33
閲覧数: 497

Re:マップエディタ

うーん、お願いしますと言われても…(苦笑) >>ただ、それだとマップチップみたいなのを >>表示する部分と作ったマップを表示する部分が違うので >>処理を二つに分けてそれぞれ表示するようになると思うのですが、 >>どのようにしてはければいいのですか? >>X座標の○~○の部分をクリックしたら・・・・・・ >>みたいな感じになるのですか? そうですね、おおむねそんな感じだと思います。 クリックされた位置情報から何を行うべきなのかをこちらで判断してやるといった感じですね。 ...
by softya
10年前
フォーラム: C言語何でも質問掲示板
トピック: RPGで言う村人と動くマップチップについて
返信数: 5
閲覧数: 657

Re:RPGで言う村人と動くマップチップについて

まぁ、色々方法はあるんですが。 1.マップチップのパーツ番号を仮想化する方法。 マッチチップのパーツ番号をテーブル番号と見立てることで、マップパーツテーブルを参照してから表示するようにする方式。マップパーツテーブルに書かれているパーツ番号を書き換えるだけでアニメ出来る。 ●マップチップ 01022340 02044440 00544000 ●マップパーツテーブル [0]0 [1]1 [2]2 [3]3 [4]4 ← ここだけ4,6,8などに変化。 [5]5 ...
by アト
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dマップについて
返信数: 9
閲覧数: 555

2Dマップについて

マップを描く ↓ キャラクタの位置を検索して描く で下のように2Dマップを作っているのですが (0が壁マップチップ(サイズ縦32,横32)、1が地面(32*32)、2が(48*32)、 3と4が木でどちらもサイズ32*32ですが4の上半分は透明であり、4は歩ける判定) 左の2の位置にキャラクタを置くとして、キャラクタの後ろの0のマップチップはキャラクタの透明な部分で0は表示されるのですが 右上の4の位置に行ってたとき4は木でなくキャラクタが表示されてしまいます。 これを改善するにはどうすればよいのでしょうか。 ...
by Dixq (管理人)
10年前
フォーラム: C言語何でも質問掲示板
トピック: 読み込みで困ってます
返信数: 15
閲覧数: 527

Re:読み込みで困ってます

そう言うことですね。

ただ100枚もロードすると使用メモリ量がすごいことにならないでしょうか・・。
まぁ読み込む画像にもよりますが、マップチップ的な物なら
画像を一枚にして

http://homepage2.nifty.com/natupaji/DxL ... .html#R3N3

こういう関数を使った方がシンプルになりそうです。
by MNS
10年前
フォーラム: C言語何でも質問掲示板
トピック: 3DCGソフトウェアについて
返信数: 4
閲覧数: 356

3DCGソフトウェアについて

現在、シムシティのようなシミュレーションゲームを製作しており、 マップをクォータービューで表示するようにしています。 その際に、マップチップ等は俯瞰視点で描かなければならず、 面倒だと感じたので、どうにか3DCGソフトで作れないものかと思いました。 私は、3DCGソフトではメタセコイアを触れた程度の経験しかないのですが、 図形として正方形を用意し、そこにテスクチャを貼って、視点を適当に定めて レンダリングすることによって、楽に製作できると考えました。 3DCGソフトにはメタセコイアを使用し 正方形を作成してテスクチャを貼ることぐらいは簡単に出来ましたが、 ...
by softya
10年前
フォーラム: C言語何でも質問掲示板
トピック: 斜め坂について
返信数: 21
閲覧数: 1071

Re:斜め坂について

>マップチップ内の相対x = キャラクタ座標のX座標 - マップチップの先端X座標 >マップチップ内の相対y = マップチップ内の相対x >キャラクタ座標のY座標 = マップチップの先端Y座標 + マップチップ内の相対y >って具合でキャラクタのY座標が計算できます。 >しかし、どうやって、マップチップの先端座標を取得するのか分からず、困っています。 キャラが立っているマップチップが分かるなら、マップチップの4点の座標は計算できると思いますが、それとも違う意味で聞いてらっしゃいます? ...
by KEYONN_
10年前
フォーラム: C言語何でも質問掲示板
トピック: 斜め坂について
返信数: 21
閲覧数: 1071

斜め坂について

現在、テスト用として、Windows用のアプリケーションを作成中です。 cc65ではなく、普通のゲームです。 そこで、アクションゲームの斜め坂を実験として、取り入れる事にしました。 現状は、坂道以外は正常にマップチップによる当たり判定が行われています。 当たり判定の方法は、こちらを読みました。 http://javagame.skr.jp/index.php?%A5%D6%A5%ED%A5%C3%A5%AF%A4%C8%A4%CE%BE%D7%C6%CD しかし、坂道の当たり判定がうまくいかず、困っています。 そこで、過去ログを読みました。 ...
by
11年前
フォーラム: C言語何でも質問掲示板
トピック: 横スクロールアクションの衝突判定
返信数: 12
閲覧数: 7603

横スクロールアクションの衝突判定

... お力添えをお願いします。 以下が衝突判定のソースです。 ================================================================================ --- Map.h --- #define CHIP_SIZE 32 //マップチップのサイズ(キャラクター画像も32*32) --- Charactor.h --- #include "Map.h" #define ACCEL_X 0.2 //X加速値 #define ACCEL_X_MAX 8.0 //X最大加速値 #define GRAVITY 0.2 //重力加速度 ...
by Justy
11年前
フォーラム: C言語何でも質問掲示板
トピック: マップエディターQuoyle08の.map読み込み
返信数: 4
閲覧数: 472

Re:マップエディターQuoyle08の.map読み込み


>256個なら8バイト目ということですね

 いえ違います。
 それはマップデータの1つあたりの情報量です。

 「マップチップ数上限」が1バイトだろうが2バイトだろうが、
マップデータの先頭はファイルの先頭から 0x10バイト目で固定なんですよ。

 最初に縦横サイズ読み込んでいるので、既に4バイト分進んでいることになります。
 結果、0x10-4で、0xcバイト分後ろにシークするとそこがマップデータの先頭になります。

 ただ上の助言通りやると、今までは読み飛ばしていましたが
レイヤー数だったりマップチップ数上限を読み込むことになるので、
シーク量も変わってきます。
by Justy
11年前
フォーラム: C言語何でも質問掲示板
トピック: マップエディターQuoyle08の.map読み込み
返信数: 4
閲覧数: 472

Re:マップエディターQuoyle08の.map読み込み

... [color=#d0d0ff" face="monospace] + 0x00 2byte 横サイズ + 0x02 2byte 縦サイズ + 0x04 2byte チップ横サイズ + 0x06 2byte チップ縦サイズ + 0x08 1byte レイヤー数 + 0x09 1byte マップチップ数上限フラグ + 0x10 Xbyte データ [/color] というフォーマットなのですが、このサイト上にあるコードは [color=#d0d0ff" face="monospace] ttp://inu.harisen.jp/scene_1/14.html + 0x00 2byte ...
by zwi
11年前
フォーラム: C言語何でも質問掲示板
トピック: 横スクロールアクションにおいて、斜め坂をマップチップで制御したい
返信数: 12
閲覧数: 3522

Re:横スクロールアクションにおいて、斜め坂をマップチップで制御したい

>問題は「斜め45度通行不可」のマップチップで、うまく斜め移動が再現できないところです・・・ 斜め45度のマップチップ限定なら、上りか下りの2種類しかないのでX座標からY座標は簡単に計算できると思いますが。 計算式は、こんな感じです。 前提として上り坂のマップチップとして、Xは右が数値が大きくなり、Yは上が数値が大きくなる座標系を想定しています。 マップチップ内の相対x = キャラクタ座標のX座標 - マップチップの先端X座標 マップチップ内の相対y = ...
by kazuoni
11年前
フォーラム: C言語何でも質問掲示板
トピック: エフェクト画像はどうやって
返信数: 2
閲覧数: 359

Re:エフェクト画像はどうやって

... プログラムで表現できるものはたくさんあるのですが、 剣で切る、稲妻が落ちる、氷山が出る・・・ などは自作するなり、エフェクトを作っていらっしゃる方々からお借りする しかないかと思います。 エフェクト画像を作っていらっしゃる方はキャラチップ、マップチップ制作者 よりははるかに少ないです。 自分も探したので、オススメをあげておきます。 ただ、自分で頭で想像しているものとは違うかも知れません。 やはり自作が一番いいんですかね・・・^^; (自分はできないので、RGBをいじって、同じ攻撃でも色を変えて使いまわしています^^;) SPIERAL ...
by 初心者さんです
11年前
フォーラム: C言語何でも質問掲示板
トピック: 重なってる物から離れたという事を判定したいのですが。。
返信数: 7
閲覧数: 510

Re:重なってる物から離れたという事を判定したいのですが。。

... (引き返すことが出来なぃ判定にはなってしまいますが…) ただし上記の回答は龍神録のように自由な移動及び自由な爆弾の設置が可能なボンバーマンを想定したものです 情報がありませんので分かりませんが、マップチップ単位で爆弾の設置が出来る一般的(?)なボンバーマンでしたら、 ひよこ様やねこ様の仰られているような方法の方がシンプルだと思います

詳細検索ページへ移動する