トップページgamedev
50コメント21KB

斜めスクロールが出来ないぞゴルァ!

■ このスレッドは過去ログ倉庫に格納されています
0001厨房似非PG01/11/16 15:46ID:???
//変数宣言
LPDIRECTDRAWSURFACE lpPrimary; //基本サーフェス(画面表示と同じもの)
LPDIRECTDRAWSURFACE lpBack; //バックバッファサーフェス(描画対象と同じもの)
LPDIRECTDRAWSURFACE lpSc;
DDCOLORKEY ddck;
LPDIRECTDRAW lpDDraw;

POINT ptBase; // スクロール基準点
void Draw(void) //メインルーチン
{
//変数宣言
static int i;
static int j; //アニメーションフラグ
static int x,y; //座標の設定
static int size=32; //拡大縮小用変数
static int sc,sc2;
RECT Scrrc={0,0,640,480}; //画面のサイズ
RECT Charrc[]={{0,0,64,64}, //BMPの座標を指定する
{64,0,128,64},
{128,0,192,64}};
// 左エリア
if( ptBase.x > 0){
// 左上
if( ptBase.y > 0){
SetRect( &Scrrc, 0, 0, ptBase.x, ptBase.y);
lpBack->BltFast(ptBase.x,ptBase.y,lpSc,&Scrrc,DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT);
}
// 左下
if( ptBase.y <= 640){
SetRect( &Scrrc, 0, ptBase.y, ptBase.x, 480);
lpBack->BltFast(ptBase.x,ptBase.y,lpSc,&Scrrc,DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT);
}
}
// 右エリア
if( ptBase.x <= 640){
// 右上
if( ptBase.y > 0){
SetRect( &Scrrc, ptBase.x, 0, 640, ptBase.y);
lpBack->BltFast(ptBase.x,ptBase.y,lpSc,&Scrrc,DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT);
}
// 右下
if( ptBase.y <= 480){
SetRect( &Scrrc, 0, ptBase.y, ptBase.x, 480);
lpBack->BltFast(ptBase.x,ptBase.y,lpSc,&Scrrc,DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT);
}
}
//ウェイト処理
static DWORD Nowtime,Prevtime;
Nowtime=timeGetTime();
if((Nowtime-Prevtime)<WAIT)return;
Prevtime=Nowtime;
lpPrimary->Flip(NULL,DDFLIP_WAIT);
}
0002名無しさん@お腹いっぱい。01/11/16 15:53ID:???
shine
0003名無しさん@お腹いっぱい。01/11/16 16:11ID:???

    .//      /)
    <_」     //             ,,-''ヽ、
       、-//            ,, -''"    \
        \イ           _,-'"        \
         .'          /\           \
              __   //\\           \
  _/          /|[]::::::|_ / \/\\         /
   ゙         ./| ̄ ̄ ̄ ̄ //\ \/  \      //    ___
         |  |:::「「「「「「 / \/\  /\\   /:::/   ./|    |__
       _..|  |:::LLLLL//\ \/  \/\\/::::::/  /  | ロ  .|lllllllllllll
      / llllll|  |:::「「「「 / \/\  /\ .\/ ./::::::::/  / ./ .|    |lllllllllllll
__     llllll|  |:::LLL.//\ \/  \/\  /::::::::/   | /  .| ロ  .|lllllllllllll
(666     llllll|  |:::「「「/ \/\  /\ \/ /::::::::/   | ||/ ..|    |lllllllllllll
         llllll|  |:::LL//\ \/  \/\ ./::::::::/    .| ||/ ..|
         |  |:::「./ .\/\  /\ \/ /::::::::/⌒ヽ、 .| ||/ ..|
         |  |:::l//\ \/  \/\_, -― 、  ''"⌒ヽ,_
                (⌒ヽ、_,ノ⌒Y"    Y     .....⌒)
            (⌒ヽー゙ ....::(   ..::.......  .__人.....::::::::::::::::::::
         _ノ⌒ヽ  Y⌒ヽ;;:::::"'::::::::::::::::::::::::::::: ___
     ___(   ゙   ....:::.....  Y"  ∧_∧   /
   // ll__ヽ_::::::::::::::::::::::::::::::ヽ....(  ´Д`)< 1の母です。
  「    ヽO≡≡O:::::::::::::::::::::::::::::::::::/ つ  _つ  \____
  ゙u─―u-――-u         人  Y
                     し'(_)
0004名無しさん@お腹いっぱい。01/11/16 16:27ID:???
まあ1は、シューティングツクールでも弄ってなさいってこった。
0005名無しさん@お腹いっぱい。01/11/16 16:29ID:???
まあ1は、RPGツクールでも弄ってなさいってこった
0006名無しさん@お腹いっぱい。01/11/16 17:24ID:???
>>3 なんかどんどん芸術的になってくるな、最近のAA。
0007名無しさん@お腹いっぱい。01/11/16 18:35ID:???
まあ1は、×××××でも弄ってなさいってこった
俺も弄るよ。えーと、エロ本エロ本・・・
0008名無しさん@お腹いっぱい。01/11/16 21:04ID:???
なんかめちゃくちゃっぽいなぁ。

左下のif は 480 と比較じゃないの?

0より上、640(480)以下という表記は正しい?
0以上640(480)未満ではないの?

そもそも、何をしようとしてるかがわからん。
時下げ位しろ、TABを入れろ。
回線切って首を吊れ。
0009名無しさん@お腹いっぱい。01/11/16 21:29ID:ChXOCnyR
>>1
とりあえず、どんなゲームでどのように使うのか教えてくれればマジレスするけど。
日本語でいいから。ちょっとこのソースだけだと難しい。
それとも斜めスクロールできれば、どの方法でもOK?
0010_01/11/16 21:38ID:MzjylXs9
デキン?
0011_01/11/16 22:24ID:MzjylXs9
つーか、
static変数嫌い
生数字嫌い
インデントしないの嫌い
0012名無しさん@お腹いっぱい。01/11/16 22:39ID:???
>基本サーフェス
>バックバッファサーフェス

微妙に変な気がするのは気のせいか
0013名無しさん@お腹いっぱい。01/11/16 22:52ID:???
>12
でも言いたい事は解る。
プライマリサーフェスとそのバックバッファ。3つ目は作業用サーフェスってとこか。
作業用サーフェスに描画した背景を少しずつずらしてバックバッファに転送して
フリップさせたいんだろう。まあ、>>1で来なけりゃ意味のない話だけど。
0014名無しさん@お腹いっぱい。01/11/16 23:08ID:???
この手のスレって前からあったけど、
もしかして半年くらい前から斜めスクロールで悩んでるの?>>1
■ このスレッドは過去ログ倉庫に格納されています