[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
突然、始まったVCでのゲーム開発は、二日目。
始めは、VC2010で作っていたがXPとは、愛称が悪いために
VC2008に落として開発して合間にゲームをプレイしていた。
FCロックマン4が話題に上がっていた。どうやらフジの衛星のTV
ゲームセンターCXと言う番組でプレイされていたようで気になった
みました。感想として有野部長(お笑い芸人)==;下手すぎるって
ほとんどがE缶でのゴリ押しで撃破って(オイオイ)
ファラオショットを打ちすぎ。
敵には、無敵時間ってあるだからと思いつつ見ました。
ちなみにFCロックマンの難易度は、4>5>6>3>1>2って感じ。
ロックマンは、2D世界では、神げーだと思う。個人的に好きなゲームは、
アクションならロックマンですが
RPGならアルトネリコ、ヴァルキリーP
ロボならバーチャローン、PCは、エロゲーですよ。
エロゲーも最近は、進化してるよな~と思います。特にエウが凄い躍進で
CGも良くなっている上にバトル要素が言い、北海道の生まれとして
嬉しいかぎり、PNは、初心を忘れないために生まれ故郷の連想する物
としています。そんなわけでゲーム好きな私個人が開発するために
DXライブラリーを勉強している。
DXライブラリー(略DXR)で成功した
ゲームRosenkreuzstiletteと言う同人ゲーの続編が出るようで応援
していきたいと思います。続編の体験版を少しやったが難しい特に火の面の
消えるブロックが鬼クラスで死にまくる。FCロックマンより辛い面。><
少し脱線しましたね。ゲーム開発に戻りますよ。
今回は、こんな感じです。キャラは、32X32 エッジで作成(透過は、黒なので
黒(0.0)は、使わないで作成する)パッドでも動作する。ビルドの失敗した挙句に
ようやく完成(まだまだですが。)
(ちなみにこんな感じでmain.cpp1に打ってます。しかしある程度C言語の知識が
入りますので勉強しまくりです。設定が重要なのでHPでよく読んで設定してください)
公式HPの設定が鍵なのでそこから入ってください。CPPってのは、
Nsで言うと
メモ帳やエディタと同じ細かい設定は、h(ヘッダファイル)で定義する感じになる。
これが勉強途中なので完成するにつれ変化していくと思います。始めなので
main.cppだけでできるようにしてます。画像は、必ずプロジェクトのあるフォルダに
リンクしてから入れてください。
#include "DxLib.h"
#define SCREEN_WIDTH (800) // 画面の横幅
#define SCREEN_HEIGHT (600) // 画面の縦幅
#define CHIP_SIZE (32) // 一つのチップのサイズ
#define MAP_WIDTH (SCREEN_WIDTH / CHIP_SIZE) // マップの横幅
#define MAP_HEIGHT (SCREEN_HEIGHT / CHIP_SIZE) // マップの縦幅
#define G (0.3F) // キャラに掛かる重力加速度
#define JUMP_POWER (9.0F) // キャラのジャンプ力
#define SPEED (5.0F) // キャラの移動スピード
#define CHAR_SIZE (30) // プレイヤーのサイズ
int PlayerX , PlayerY ;
int JumpPower ;
int PlayerGraph ;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int Key ;
SetGraphMode( 800,400,32 ) ;
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
// 描画先画面を裏画面にセット
SetDrawScreen( DX_SCREEN_BACK ) ;
// グラフィックのロード(画像名・ファイル形式)
PlayerGraph = LoadGraph( "noa1.bmp" ) ;
// キャラクターの初期データをセット
PlayerX = 0 ;
PlayerY = 0 ;
JumpPower = 0 ;
// ループ
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
{
// キー入力取得
Key = GetJoypadInputState( DX_INPUT_KEY_PAD1 ) ;
if( Key & PAD_INPUT_UP ) PlayerY -= 3 ; // 上を押していたら上に進む
if( Key & PAD_INPUT_DOWN ) PlayerY += 3 ; // 下を押していたら下に進む
if( Key & PAD_INPUT_RIGHT ) PlayerX += 3 ; // 右を押していたら右に進む
if( Key & PAD_INPUT_LEFT ) PlayerX -= 3 ; // 左を押していたら左に進む
// 落下処理
PlayerY -= JumpPower ;
// 落下加速度を加える
JumpPower -= 1 ;
// もし地面についていたら止まる
if( PlayerY > 300 )
{
PlayerY = 300 ;
JumpPower = 0 ;
}
// ジャンプボタンを押していて、地面についていたらジャンプ
if( ( Key & PAD_INPUT_A ) && PlayerY == 300 ) JumpPower = 20 ;
// 画面を初期化する
ClearDrawScreen() ;
// プレイヤーを描画する
DrawGraph( PlayerX , PlayerY , PlayerGraph , TRUE ) ;
// 裏画面の内容を表画面に反映させる
ScreenFlip() ;
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
800X400じゃなく800X600したいので研究中です。