物体が伸び縮みして、回転する処理
Posted: 2014年5月26日(月) 10:15
ゲームを作っており、物体が伸び縮みして、回転する処理が上手く実装できません。
Dxライブラリを改造して制作しております。
回転の起点をずらしたいのですが、描画系の命令が中心原点なのでうまく処理を書くことができません。
イメージとしては下記の感じです。
こちら難しいのでしょうか。
https://itunes.apple.com/jp/app/nao-tia ... ?l=en&mt=8
https://play.google.com/store/apps/deta ... rainHammer
Dxライブラリを改造して制作しております。
回転の起点をずらしたいのですが、描画系の命令が中心原点なのでうまく処理を書くことができません。
イメージとしては下記の感じです。
こちら難しいのでしょうか。
https://itunes.apple.com/jp/app/nao-tia ... ?l=en&mt=8
https://play.google.com/store/apps/deta ... rainHammer
int Px,Py,Sx,Sy;
int ScaleMode;
int AttackMode;
float Angle;
void Init( void ){
Px = 300;
Py = 400;
Sx = 60;
Sy = 60;
ScaleMode = 0;
AttackMode = 0;
Angle = 0;
}
void Loop( void ){
// スケール
if( AttackMode == 0 )
{
if( ScaleMode == 0 )
{
Sy += 4;
Py -= 4;
}
if( ScaleMode == 1 )
{
Sy -= 4;
Py += 4;
}
if( Sy >= 300 ) ScaleMode = 1;
if( Sy <= 60 ) ScaleMode = 0;
}
// 角度
if( setF )
{
AttackMode = 1;
}
if( AttackMode == 1 ) Angle += 4.0f;
if( AttackMode == 2 ) Angle -= 4.0f;
if( AttackMode == 1 && Angle >= 90.0f ) AttackMode = 2;
if( AttackMode == 2 && Angle <= 0.0f )
{
AttackMode = 0;
Angle = 0.0f;
}
if( Angle >= 360 ) Angle -= 360;
if( Angle < 0 ) Angle += 360;
}