Skip to content

back 作成

tkr987 edited this page Aug 11, 2018 · 2 revisions

背景画像やBGMを実装するためにNyaBackを基底に持つクラスを定義する。背景画像の描画はtargetやuserの描画と同じように記述すれば良い。

#pragma once
#include "HNLIB.h"

class TeemoBack : public HNLIB::NyaBack
{
public:
	TeemoBack();
private:
	HNLIB::GraphicPropertyX1 gpx_;
	void Act(void);
	void Draw(void);
};
#include "TeemoBack.h"
using namespace HNLIB;

TeemoBack::TeemoBack()
{
	gpx_.draw_grid_x_ = -400;
	gpx_.draw_grid_y_ = -2560 + 720;
	NyaGraphic::Load("img/back/back1.png", &gpx_.file_);
}

void TeemoBack::Act(void)
{
	const double limit_scroll_max_y = -4.0;
	// 背景画像のスクロール
	if (gpx_.draw_grid_y_ < limit_scroll_max_y)
		gpx_.draw_grid_y_ += 0.4;
}


void TeemoBack::Draw(void)
{
	NyaGraphic::Draw(&gpx_, eOBJECT::BACK_MAP1);
}

NyaMission::AddBack()を使ってNyaBack型のTeemoBackインスタンスを登録する。

NyaMission::AddBack()プロトタイプ:
void NyaMission::AddBack(NyaBack* back);

  • back; 登録する背景
#include "TeemoBack.h"
#include "TeemoMission.h"
#include "TeemoTarget.h"
#include "TeemoUser.h"

using namespace HNLIB;

void TeemoMission::Create(void)
{
	AddBack(new TeemoBack);
	AddTarget(1, 100, new TeemoTarget);
	AddUser(new TeemoUser);
}

void TeemoMission::Delete(void)
{
	ClearBack();
	ClearTarget();
	ClearUser();
}

コンパイルして実行する。
back

Clone this wiki locally