OnDraw以外でpDCを使いたいのですがどうすればいいのでしょうか。
CWnd::GetDC()とかでしょうか。
CWnd::GetDC()をつかってみたましたが
'pDC' : 定義されていない識別子です。とエラーがでます
宣言してます?
CPaintDC* pDC;
いけました すみませんでした
お聞きしたいのですが
例えばキーボードのzを押したら
bmpがでてx座標をすすみx座標+60ぐらいしたらそのbmp
がきえるようにしたいのですがどうすればいいでしょうか。
キーボードのzを押したら
bmpがでてx座標をすすみx座標+60ぐらいしたらそのbmp
がきえるようにすればいいと思います、としか答えられないような気がする。
質問が抽象的過ぎます。
どこがわからないのでしょうか?
キーボードのzを押したことの検出法
bmpの出し方
bmpの動かし方
x座標+60ぐらいしたらそのbmpが消えるようにする方法
すいません
動かしかたがわかりません。
アニメと同じ。
ちょっとづつ位置をずらしながら描く。
一部なんですが
CArray(int,int)b;
でbに0をいれfor文で
for(a=pDoc->b;a<100;a++){
pDoc->m_user.x += a; pDoc->b.Add(1);
}
としたんですがa=pDoc->bの部分でエラーがでます
> CArray(int,int)b;
CArrayはクラステンプレートだから,こんな書き方はないはず.
> bに0をいれ
仮に,bがCArray< int, int >のオブジェクトだったとしたら,それに0を入れるとは?
> a=pDoc->b
b( CArray< int, int >オブジェクト )をaに代入する?
aの型は何?
すいませんでした。できました。
warishitaさんがいってたアニメーションなんですが
for文をつかって座標を1個ずつずらしていったんですが
はやくて移動としてるというより瞬間移動みたいになってしまうのですが
どうすればいいでしょうか
タイマーか sleep() かを用いて時間を稼いでください
それから、いわゆるあなたの環境(OSやコンパイラーやのバージョン、
MFC を使うかどうか、アプリケーションの種類など)に付いても
きちんと示して下さい
タイマーのつかいかたがよくわかりませんが
for(int a=0;a<50;a++){
pDC->BitBlt(pDoc->m_user.x +=1 ,
pDoc->m_user.y,48,48,&MemDC1,0,0,SRCCOPY);
}
としていたのですが
タイマーをつかうと
for(int a=0;a<50;a++){
SetTimer(1,1000,NULL);
pDC->BitBlt(pDoc->m_user.x ,pDoc->m_user.y,48,48,&MemDC1,0,0,SRCCOPY);
}
でいいのでしょうか?
>それから、いわゆるあなたの環境(OSやコンパイラーやのバージョン、
>MFC を使うかどうか、アプリケーションの種類など)に付いても
>きちんと示して下さい
VC++ 6.0で
SDI生成しています
>タイマーをつかうと
>for(int a=0;a<50;a++){
> SetTimer(1,1000,NULL);
> pDC->BitBlt(pDoc->m_user.x ,pDoc->m_user.y,48,48,&MemDC1,0,0,SRCCOPY);
>
> }
>でいいのでしょうか?
人に尋ねる前にどの程度調べたのでしょうか
SetTimer() の使い方のどこがわかりませんか?
何で(google、MSDN ライブラリー、実行してみた、その他)どのように調べましたか?
うーん。これだと一から教えないといけないんですかねぇ。
掲示板で一から十まで手取り足取り教えてくださいというのは
勘弁してください。
こういう文字でしかやり取りが出来ない場所でそれは無理と言う物です。
手取り足取りということであれば、そういうことを教えてくれる学校に
行って習うとか、身近に教えてくれる人を探すとかしてくださいね。
こういう掲示板は、基本的にヒントをもらう場で解決はあなた自身が
やらなくてはなりません。
ですから、もらった情報で何とかできる程度の知識はないと解決は
難しいと思いますよ。