物体が伸び縮みして、回転する処理

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
紅嵐

物体が伸び縮みして、回転する処理

#1

投稿記事 by 紅嵐 » 12年前

ゲームを作っており、物体が伸び縮みして、回転する処理が上手く実装できません。
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;

}


アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 物体が伸び縮みして、回転する処理

#2

投稿記事 by softya(ソフト屋) » 12年前

DXライブラリには拡縮や回転中心をズラすRota系の関数がありますけど。それではダメなのでしょうか?
DrawRotaGraph2やDrawRotaGraph3です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

紅嵐

Re: 物体が伸び縮みして、回転する処理

#3

投稿記事 by 紅嵐 » 12年前

ありがとうございます!こんなのがあったのですが・・・。助かりました。。。
リファレンスを見てはいたのですが、次回からもう少し確認いたします。

閉鎖

“C言語何でも質問掲示板” へ戻る