トップページ > 記事閲覧
時間処理と当たり判定について
名前:大阪府民2 日時: 2015/12/11 11:24

今回は数字が下に落ちてから次の数字が落ちてくるプログラムともう一度当たり判定について分かりやすく教えて欲しいです。なので今回は長文になりますが、ソースコードを書かせてもらいます。 //ヘッダー #include <stdio.h> #include <Windows.h> #include <D3D11.h> #include <d3dx11.h> #include <d3dCompiler.h> #include <xnamath.h> #include <crtdbg.h> #include <XAudio2.h> #include <time.h> //main.hの一部です。 //Main関数 int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR szCmdLine,int nCmdShow) { char Name []={"Falling Same Number"}; //ウィンドウステータス WNDCLASSEX wcex = { sizeof(WNDCLASSEX), CS_HREDRAW | CS_VREDRAW, WndProc, 0, 0, hInstance, NULL, NULL, (HBRUSH)(COLOR_WINDOW+1), NULL,Name,NULL }; void Init(int number,int x,int y); void Destructor(); void Action(); void Draw(); private: float m_x,m_y; float m_x0,m_y0; float m_time; int m_iNumber; RECT m_src; RECT m_dst; //数字のヘッダー //数字のCPP #include "main.h" #define WINDOW_RIGHT 192 #define WINDOW_LEFT 0 //イニシャライズ void CObjNum1::Init(int numnber,int x,int y) { m_iNumber = numnber; m_x=x; m_y=y; /* m_x=rand()%150; m_y=rand()%100; m_x += 0.3; */ m_time=1; Hit()->SetStatus(ELEMENT_PLAYER,1); Hit()->Invincibility(false); Hit()->SetPos(m_x,m_y,40.0f,80.0f); //描画の優先順位 m_Prio = 2; } //デスト void CObjNum1::Destructor() {} //アクション void CObjNum1::Action() { /*m_y += 0.3f; m_time++; m_y +=2; m_x +=5; if(m_x>WINDOW_SIZE_W) { m_y=rand()%500; m_x=rand()%250; } m_x -= 0.3;*/ if(Input()->GetVKey(VK_DOWN)) { m_y+=1.5f; } if(Input()->GetVKey(VK_RIGHT)) { m_x+=2.0f; } if(Input()->GetVKey(VK_LEFT)) { m_x-=2.0f; } if(m_x<0) { m_x=0; } if(m_y<0) { m_y=0; } if(m_x>WINDOW_SIZE_W-66) { m_x=WINDOW_SIZE_W-66; } if(m_y>WINDOW_SIZE_H-70) { m_y=WINDOW_SIZE_H-70; } Hit()->SetPos(m_x,m_y);   m_time=1; } //ドロー void CObjNum1::Draw() { //カラー情報 float col[4] = {1.0f,1.0f,1.0f,1.0f}; //切り取り座標 #define NUMBER_W 8 #define NUMBER_H 17 int offset_x = (m_iNumber - 1) % 10; int offset_y = (m_iNumber - 1) / 10; m_dst.top =offset_y * NUMBER_H; m_dst.left =offset_x * NUMBER_W; m_dst.bottom =(offset_y+1) * NUMBER_H; m_dst.right =(offset_x+1) * NUMBER_W; //転送先座標 m_src.top =m_y; m_src.left =m_x; m_src.bottom =70+m_src.top; m_src.right =70+m_src.left; //描画 Image()->Draw(2,&m_src,&m_dst,col,0.0f);  } ぜひお願いします。
メンテ

Page: 1 |

Re: 時間処理と当たり判定について ( No.1 )
名前:管理人 日時:2015/12/12 12:31

落ちものゲームの作り方について掲示板のご返信だけで解説するのは難しいです Google で「落ちものゲーム プログラム」などで検索すると 落ちものゲームのプログラムについての講座ページが幾つも出てきますので、 よろしければこちらをご覧になってみてください <CodeZine 落ち物ゲームの作り方 第1回:「TETRA」編> http://codezine.jp/article/detail/207 <Windowsプログラミング研究所 プログラミング解説 ぷよぷよの作り方> http://www13.plala.or.jp/kymats/study/game_other/TOKOPUYO/tokopuyo.html
メンテ
Re: 時間処理と当たり判定について ( No.2 )
名前:大阪府民2 日時:2015/12/14 10:32

ありがとうございます
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存