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

このエントリーをはてなブックマークに追加
1厨房似非PG
//変数宣言
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);
}
2名無しさん@お腹いっぱい。:01/11/16 15:53 ID:???
shine
3あぼーん:あぼーん
あぼーん
4名無しさん@お腹いっぱい。:01/11/16 16:27 ID:???
まあ1は、シューティングツクールでも弄ってなさいってこった。
5名無しさん@お腹いっぱい。:01/11/16 16:29 ID:???
まあ1は、RPGツクールでも弄ってなさいってこった
6名無しさん@お腹いっぱい。:01/11/16 17:24 ID:???
>>3 なんかどんどん芸術的になってくるな、最近のAA。
7名無しさん@お腹いっぱい。:01/11/16 18:35 ID:???
まあ1は、×××××でも弄ってなさいってこった
俺も弄るよ。えーと、エロ本エロ本・・・
8名無しさん@お腹いっぱい。:01/11/16 21:04 ID:???
なんかめちゃくちゃっぽいなぁ。

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

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

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

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

あと、DirectXスレでも同じ質問があったし、
したらばのゲ術板でも見た。

★DirectDrawで斜めスクロールの仕方
http://www.shitaraba.com/cgi-bin/read.cgi?key=1000542496_1&bbs=gamecreate&ls=100
16名無しさん@お腹いっぱい。:01/11/16 23:48 ID:???
>>14
ワラタ。そのスレひどすぎ(w

というかソースを見る限り、>>1は斜めどころか普通にスクロールもできなさそう。
17名無しさん@お腹いっぱい。:01/11/17 00:37 ID:???
>>1のソースを改良して斜めスクロールを実現させてし見ろ。貴様ら
18名無しさん@お腹いっぱい。:01/11/17 00:38 ID:???
>>17
改良ですか?
全部作りなおしでは駄目ですか?
19名無しさん@お腹いっぱい。:01/11/17 00:57 ID:???
>>14そうです。半年悩んでます。

みなさま糞スレ立ててすみません。ってか生きててすみません。
20名無しさん@お腹いっぱい。:01/11/17 00:58 ID:???
多分斜めスクロールが完成するまで延々とこの手のスレが立つと思います。
2115:01/11/17 01:04 ID:???
というか、したらばでやり方散々書いたんだよ!
今見たら全部消されてるし・・・確かしたらばってスレ立てたやつがレス消せるんだよな・・・
っておい!
22名無しさん@お腹いっぱい。:01/11/17 01:14 ID:???
仕方ないからもう一回書いてやれよ。
23名無しさん@お腹いっぱい。:01/11/17 01:50 ID:???
つまりここの1はネタなわけですね
24名無しさん@お腹いっぱい。:01/11/17 02:28 ID:B9jLKAU+
LPDIRECTDRAWSURFACE lpPrimary;
LPDIRECTDRAWSURFACE lpBack;
LPDIRECTDRAWSURFACE lpSc;

POINT pt;

void Scroll(void)
{
 RECT rect;

 if(pt.x<0){pt.x+=640;} else if(pt.x>639){pt.x-=640;}
 if(pt.y<0){pt.y+=480;} else if(pt.y>479){pt.y-=480;}

 if(pt.x!=0){
  SetRect(&rect, 0, 479-pt.x, 640-pt.x, 480);
  lpBack->BltFast(pt.x, 0, lpSc, &rect, DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT); }

 if(pt.y!=0){
  SetRect(&rect, 639-pt.x, 0, 640, 480-pt.y);
  lpBack->BltFast(0, pt.y, lpSc, &rect, DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT); }

 SetRect(&rect, 0, 0, 640-pt.x, 480-pt.y);
 lpBack->BltFast(pt.x, pt.y, lpSc, &rect, DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT);
 SetRect(&rect, 639-pt.x, 479-pt.y, 640, 480);
 lpBack->BltFast(0, 0, lpSc, &rect, DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT);

 lpPrimary->Flip(NULL,DDFLIP_WAIT);

 pt.x++; pt.y++;
}
2524:01/11/17 02:29 ID:B9jLKAU+
ゲ制作技術板は何もしないと不評だから、一応書いてみた。
>>1がネタでもな。

やり方は、>>13が言ってるのと同じ。
作業用サーフェス全体に背景を置いておいてバックバッファにずらして転送。
ただし、背景絵が上下左右で繋がってないと変に見えるけど。
背景の(0, 0)が表示画面の(pt.x, pt.y)から表示されるてわけ。

関数Scrollを呼び出すたびに少しづつずれて表示される。
最後のpt.xとpt.yのインクメント/デクリメントをいじればスクロール方向や速度が変えられる。

メインループからでも適当な間隔で呼び出してもらえれば斜めスクロールすると
思うけど、実際試したわけではないのでサンプルね。俺も暇だな。
26名無しさん@お腹いっぱい。:01/11/17 09:30 ID:???
ファミコンで高速スクロールさせる時って、やっぱり水平帰線中に画面
切り替えたりして見かけのVRAM増やしてやるんかね
271 ◆NVkNXezo :01/11/17 16:04 ID:???
みなさまどうやら遂に斜めスクロールができました。
これで心おきなく逝けます。

    あ り が と う ご ざ い ま し た。
28名無しさん@お腹いっぱい。:01/11/22 15:07 ID:???
| \
   |Д`) ダレモイナイ・・スルナラ イマノウチ
   |⊂
   |


     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン



   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン
29(ε・∀・) フクミミ ◆qepgf.W2 :01/11/22 15:10 ID:???
ミチャッタ...
30名無しさん@お腹いっぱい。:01/11/22 15:10 ID:???
| \
   |Д`) ダレモイナイ・・センデンスルナラ イマノウチ
   |⊂
   |


     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン



   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン
31名前は開発中のものです。:01/11/27 06:38 ID:???
>>30
ミタヨ
32名前は開発中のものです。:02/01/22 04:07 ID:a5Z5zbEJ
駄スレ保存
33名前は開発中のものです。:02/02/06 03:12 ID:???
| \
   |Д`) ダレモイナイ・・センデンスルナラ イマノウチ
   |⊂
   |


     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン



   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン
34名前は開発中のものです。:02/02/06 03:12 ID:???
| \
   |Д`) ダレモイナイ・・センデンスルナラ イマノウチ
   |⊂
   |


     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン



   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン

35名前は開発中のものです。:02/02/06 03:14 ID:???
sage
36名前は開発中のものです。:02/03/03 10:26 ID:???
| \
   |Д`) ダレモイナイ・・スルナラ イマノウチ
   |⊂
   |


     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン



   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン
37名前は開発中のものです。:02/05/06 20:32 ID:???
霊スレだったの
38sage ◆SAGEddng:02/05/07 00:17 ID:???
| \
   |Д`) ミチャッタ
   |⊂
   |


     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン
39age:02/07/03 23:34 ID:???
▼゚Д。▼カフッ▼゚▼゚Д。▼カフッД。▼カフッ
40名前は開発中のものです。:02/07/04 00:10 ID:???
>>1
ひでー書き方、才能ゼロ
41名前は開発中のものです。:02/07/07 14:20 ID:???
この板の活発化のために打つべし! 打つべし!
42名前は開発中のものです。:02/07/07 16:53 ID:???
♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン
     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン
   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン
     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン
   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン

| \
   |Д`) アゲンナカス
   |⊂
   |
43あぼーん:あぼーん
あぼーん
44名前は開発中のものです。:02/10/19 12:35 ID:mctZE8GO
斜めスクロールにはブレゼンハムのアルゴリズムがイイage!!
45あぼーん:あぼーん
あぼーん
46名前は開発中のものです。:02/11/06 21:36 ID:ret9NUF2
何で、関数の中で、RECTで画面サイズ取得してるの?
Draw関数なのに、何でウェイトの処理入れてるの?
っていうか、座標を何で関数内で定義するの?
つーか、お前プログラムの勉強ちゃんとしろや!!!!!
47名前は開発中のものです。:02/11/06 21:58 ID:???
1 名前:厨房似非PG 01/11/16 15:46 ID:???
46 名前:名前は開発中のものです。 :02/11/06 21:36 ID:ret9NUF2
01/11/16
02/11/06
( ´,_ゝ`)プッ
48名前は開発中のものです。:02/11/07 17:44 ID:2yv67rKD
今時、DX7なんて使うなっ!






















アホッ!!
49名前は開発中のものです。:02/11/07 17:50 ID:???
   ∧ ∧ シュー
   (,,゚Д゚)  リョー
  〜(   )
   |||
   (__)_)  【糸冬】
50名前は開発中のものです。:02/12/02 06:44 ID:4gZczmnc
       /   /ー-,    ー────-,
      / / /ヽ、/        __/
      `y'    /ヽ、       |
      ∠_、 /   ヽ         |
       |    `ヽ、         |
     ,/ | ヽ              |
       |    `ヽ、        、|
51名前は開発中のものです。:03/02/04 00:31 ID:uy2CdT6c
up coming
52名前は開発中のものです。:03/02/04 00:51 ID:yTt9SSXD
よくこんなスレが残ってるな。
この分だと10年くらい持ちそう。
53名前は開発中のものです。:03/02/13 18:02 ID:fARJikqA
削除依頼だしたのに、削除されないのはなぜですか?
54名前は開発中のものです。:03/02/14 08:17 ID:QDUXXZ9k
スレ違いではないということ。
55あぼーん:あぼーん
あぼーん
56あぼーん:あぼーん
あぼーん
57山崎渉:03/05/28 08:34 ID:lZGBuuoG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
58あぼーん:あぼーん
あぼーん
59あぼーん:あぼーん
あぼーん
60あぼーん:あぼーん
あぼーん
61_:03/05/31 11:55 ID:61bV9r34
62あぼーん:あぼーん
あぼーん
63あぼーん:あぼーん
あぼーん
64あぼーん:あぼーん
あぼーん
65あぼーん:あぼーん
あぼーん
66山崎 渉:03/08/15 08:38 ID:Q998ZG7G
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
67名前は開発中のものです。:03/10/10 21:10 ID:55Pj4Ivf
だれかいるか?
68名前は開発中のものです。:03/12/10 15:53 ID:aDc74aCI
いるよ。
69名前は開発中のものです。:04/08/25 18:51 ID:W+KJvLXW
 
701:04/09/21 09:35:43 ID:1rY6ctTM
ほい、出来た。これにて終了。
ttp://hk3ch2.hp.infoseek.co.jp/cgi-bin/up/source/up0326.zip
71名前は開発中のものです。:04/09/24 23:47:46 ID:F9a9w1Mt
きたねえソースだなwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
72名前は開発中のものです。:04/10/01 20:25:47 ID:jvrPvrVf
まだやってたことに驚愕した
73名前は開発中のものです。:2005/06/15(水) 16:58:16 ID:Oc7IjLli
残念。>>70が見たかったなw
74名前は開発中のものです。:2005/08/06(土) 07:43:59 ID:51D1zgZt
うんこあげ
75名前は開発中のものです。:2005/10/03(月) 00:47:46 ID:bIXp9Ej+
アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画

画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア

アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画

画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア

アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画

画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア

アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画

画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア画企マロア
76名前は開発中のものです。:2005/11/15(火) 23:47:38 ID:1k/Oi8MS
77名前は開発中のものです。:2005/11/16(水) 00:10:02 ID:bP8OZfvZ
78名前は開発中のものです。:2005/11/16(水) 00:17:25 ID:bP8OZfvZ
79名前は開発中のものです。:2005/11/16(水) 00:32:20 ID:bP8OZfvZ
80名前は開発中のものです。
スレッド削除依頼