#include "DxLib.h"
int g_handle;
void Init() ;
void Fin() ;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
const int WIDTH = 15;
const int HEIGHT = 15;
Init() ;
const float scale = 4.0f;
MV1SetScale(g_handle, VGet(scale,scale,scale));
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
{
ClearDrawScreen() ;
const int start = GetNowCount();
for( int x = 0; x < WIDTH; x++ ) {
for( int y = 0; y < HEIGHT; y++) {
MV1SetPosition( g_handle, VGet( 320.0f + ((x-WIDTH/2)*50), -300.0f, 600.0f + ((y-HEIGHT/2)*50) ) ) ;
MV1DrawModel(g_handle);
}
}
DrawFormatString(0,0,0xffffff,"time : %d", GetNowCount() - start);
ScreenFlip() ;
}
Fin() ;
return 0;
}
void Init()
{
ChangeWindowMode(TRUE);
SetOutApplicationLogValidFlag(FALSE);
SetDoubleStartValidFlag(TRUE);
DxLib_Init();
SetAlwaysRunFlag(TRUE);
SetDrawScreen( DX_SCREEN_BACK );
g_handle = MV1LoadModel("先行者(簡易版).pmd");
}
void Fin()
{
MV1DeleteModel(g_handle);
DxLib_End();
}
I2luY2x1ZGUgIkR4TGliLmgiCiAKaW50IGdfaGFuZGxlOwogCnZvaWQgSW5pdCgpIDsKdm9pZCBGaW4oKSA7CiAKaW50IFdJTkFQSSBXaW5NYWluKEhJTlNUQU5DRSBoSW5zdGFuY2UsSElOU1RBTkNFIGhQcmV2SW5zdGFuY2UsTFBTVFIgbHBDbWRMaW5lLGludCBuQ21kU2hvdykKewogICAgY29uc3QgaW50IFdJRFRIID0gMTU7CiAgICAgICAgY29uc3QgaW50IEhFSUdIVCA9IDE1OwogCiAgICAgICAgSW5pdCgpIDsKIAogICAgICAgIGNvbnN0IGZsb2F0IHNjYWxlID0gNC4wZjsKICAgICAgICBNVjFTZXRTY2FsZShnX2hhbmRsZSwgVkdldChzY2FsZSxzY2FsZSxzY2FsZSkpOwogCiAgICAgICAgd2hpbGUoIFByb2Nlc3NNZXNzYWdlKCkgPT0gMCAmJiBDaGVja0hpdEtleSggS0VZX0lOUFVUX0VTQ0FQRSApID09IDAgKQogICAgICAgIHsKICAgICAgICAgICAgICAgIENsZWFyRHJhd1NjcmVlbigpIDsKIAogICAgICAgICAgICAgICAgY29uc3QgaW50IHN0YXJ0ID0gR2V0Tm93Q291bnQoKTsKIAogICAgICAgICAgICAgICAgZm9yKCBpbnQgeCA9IDA7IHggPCBXSURUSDsgeCsrICkgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IoIGludCB5ID0gMDsgeSA8IEhFSUdIVDsgeSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVYxU2V0UG9zaXRpb24oIGdfaGFuZGxlLCBWR2V0KCAzMjAuMGYgKyAoKHgtV0lEVEgvMikqNTApLCAtMzAwLjBmLCA2MDAuMGYgKyAoKHktSEVJR0hULzIpKjUwKSApICkgOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1WMURyYXdNb2RlbChnX2hhbmRsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgRHJhd0Zvcm1hdFN0cmluZygwLDAsMHhmZmZmZmYsInRpbWUgOiAlZCIsIEdldE5vd0NvdW50KCkgLSBzdGFydCk7CiAKICAgICAgICAgICAgICAgIFNjcmVlbkZsaXAoKSA7CiAgICAgICAgfQogCiAgICAgICAgRmluKCkgOwogICAgICAgIHJldHVybiAwOwp9CiAKdm9pZCBJbml0KCkKewogICAgICAgIENoYW5nZVdpbmRvd01vZGUoVFJVRSk7CiAgICAgICAgU2V0T3V0QXBwbGljYXRpb25Mb2dWYWxpZEZsYWcoRkFMU0UpOwogICAgICAgIFNldERvdWJsZVN0YXJ0VmFsaWRGbGFnKFRSVUUpOwogICAgICAgIER4TGliX0luaXQoKTsKICAgICAgICBTZXRBbHdheXNSdW5GbGFnKFRSVUUpOwogICAgICAgIFNldERyYXdTY3JlZW4oIERYX1NDUkVFTl9CQUNLICk7CiAKICAgICAgICBnX2hhbmRsZSA9IE1WMUxvYWRNb2RlbCgi5YWI6KGM6ICFKOewoeaYk+eJiCkucG1kIik7Cn0KIAp2b2lkIEZpbigpCnsKICAgICAgICBNVjFEZWxldGVNb2RlbChnX2hhbmRsZSk7CiAgICAgICAgRHhMaWJfRW5kKCk7Cn0=