[過去ログ] 無料で俺がRPGを作れるようにするスレ (474レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
113(1): 04/02/13 21:41 ID:NsiLkd+i(1) AAS
>>112
リソースから読むんじゃなくて、最初はまず「自分で作ったビットマップ」
を表示する処理を書いてみた方がよいよ。
114: 98 04/02/13 23:35 ID:YwOWpj4L(2/2) AAS
>>113
自分で作ったビットマップというのは、こういうのでしょうか?↓
外部リンク[txt]:www.geocities.co.jp
それとも、リソーススクリプトなしでビットマップ表示ができるということでしょうか?
とりあえず上の方法で簡単なゲームから作ってみようかと思う今日この頃。
115: 98 04/02/14 00:21 ID:0N5qgnUm(1/2) AAS
×ビットマップ表示ができるということでしょうか?
○ペイントで描いた絵を表示できるということでしょうか?
116: 98 04/02/14 23:25 ID:0N5qgnUm(2/2) AAS
外部リンク[txt]:www.geocities.co.jp
キーを押すと、その方向に動く○
ドラクエって作るの簡単な部類だと思うんだが、先は長い・・・・
117: 98 04/02/16 22:01 ID:EaOpAIgY(1/2) AAS
やっと絵が表示できた。
でもマップチップの並べ方が分からん。
ひたすらBitBltするしかないのだろうか・・
118: 98 04/02/16 22:19 ID:EaOpAIgY(2/2) AAS
なんか日記みたいなのでRPG作ってる人どんどん参加してください(´・ω・`)
(ツクール除く)
ってことであげ
119(2): 04/02/16 23:38 ID:4tM5r8pl(1) AAS
>98
私もRPG作成しています。製作環境はdelphi6です。
共に頑張りましょう。
外部リンク:www.geocities.co.jp
120(1): 名無しさんは14才 04/02/17 01:13 ID:3jAAI9V7(1) AAS
>98,119
わたしはJavaスレでまったり製作ちゅう。
がんばろうね♪
121(1): 04/02/17 16:16 ID:HV2czGyE(1) AAS
>>98
ゲーム作りの解説してるサイトとか見てる?
検索すればいろいろあるから見た方が良いよ。
あといきなりRPGは厳しいので、簡単なのから作った方が良いよ。
マップチップはループさせて表示すれば。
122: 98 04/02/17 21:52 ID:hWbX7oGp(1) AAS
人がキターー
>>119>>120
言語違うけどがんばりましょう
どうでもいいけど、この板ってけっこう過疎化してますね・・
>>121
ブックはしてあるんですが、まだあまり見てないです。
directX使っているところが多いので、先にAPI解説サイトかなあ、と。
省3
123(1): 名無しさんは14才 04/02/18 15:42 ID:UkGMdZe5(1) AAS
>98サン
そうですねー。けっこう人少ないですよね。
でも、個人的にはまったりしてていいかな、と思います。
ちなみにわたしも今マップ関係を製作ちゅう。微妙に音楽に浮気ちゅうだけど。
Javaスレも再利用中(占拠中?)。
みんなまったりがんばりましょー!
124(5): 04/02/18 16:00 ID:wGSU8Vo8(1) AAS
>>98
Cで作るとなると覚えることが沢山あって大変だよ…
HSPとかやってみたら?
Cと比べてすげー簡単だし、画像処理関係のAPI揃ってるし。
考え方ってのは一緒だから無駄にはならんよ。
125: 98 04/02/19 00:59 ID:8yMY9wg9(1) AAS
>>123
あんたスゲェよ・・・
俺もマップ製作中だけど、マップを並べるプログラムで手こずってる orz
>>124
他の言語にしたほうが楽なんだろうな、ってのは薄々感づいてるんですが、
ゲームを作ること自体が目的ではないので、もうしばらくはこのまま行ってみようかと。
126(3): 04/02/19 06:43 ID:ZuScVm6q(1) AAS
> forを二重にしたら敷き詰まったんですが、これだと好きな場所に
> 好きなマップチップを置けないような気がするんです
そりゃあforの中で同じマップチップ置く処理しかしなければそうなるさ
例えば2次元配列使ってマップデータを格納しておいて、forの中ではその情報を元にマップチップを描画するとかしないと。
127(1): 124 04/02/19 11:10 ID:4j3KDMl/(1) AAS
HSPでやってみれば?とかいった人間だが
俺も参加させてもらう。
一応今はHSPで作ってる。
まだゲーム作ったことがないので、あんま役には立てんが
お互い完成までがんばってみよう。
ちっちゃいRPG作成中……
外部リンク[zip]:henachoko.homeip.net
省6
128(2): 98 04/02/20 23:43 ID:WBg2coIl(1) AAS
>>126
ちょっとやってみたんですが、まだ理解不足でコンパイル時にエラー10個くらいでますた。
今はとりあえずBitBltしまくっておいて、マップスクロール時に問題が出てきたら
それでやってみます。
>>127
がんがりませう。
マップは出たんですが、動かないです。ソース見た感じだと、もとから動かない仕様でしょうか?
129(1): 04/02/21 00:50 ID:b1rfLJZj(1) AAS
98もゲムを実行するには何のランタイムが必要ですか?
130(1): 04/02/21 01:54 ID:Jr2f0/ES(1) AAS
>>128
好きな場所にマップチップが置けないってのは解決したの?
131(1): 124 04/02/21 10:59 ID:SOonC27/(1) AAS
>>128
ああ、マップ表示のサンプルですよ。
動かない、というかキャラクター表示はまだ。
一応マップ表示の原理をHSPで書いてみたんだけど。
>>126の言ってることをやってます。
132(2): 98 04/02/21 23:50 ID:n2vfldWV(1) AAS
>>129
ランタイムいらないです。コンパイラが必要です。
まだゲームといえない段階なので、もうちょっとできたらexeでうpします。
>>130
好きな場所に置くこと自体はできたんですが、今のまま作っていくと、
マップが大きくなったときに死ねそうです。↓
外部リンク[txt]:www.geocities.co.jp
省5
133(1): 04/02/22 00:16 ID:qoGQgaC2(1) AAS
>>132
そりゃaryはintなんだから、HBITMAPつっこもうとすればエラー出るだろう。
この場合で言えば、ary[x][y]にはhBitmapのインデックスだけ入れるべきかと。
まあこのマップ構成ならば、
int ary[3][3] = {0, 0, 0,
0, 1, 2,
0, 0, 0};
省7
134(1): 124 04/02/22 00:20 ID:qJjHo9kX(1) AAS
>>132
基本的には、一つの場所(街なら街、洞窟なら洞窟)のチップは全て
一つにまとめるのが普通だと思いますよ。
読み込むときに、「ファイルを探してー>読み込む」という手順を踏むわけですから、
一つにまとめておけば、一回探せば後は読み込むだけです。
135(1): 98 04/02/23 00:24 ID:yOz6UeEe(1) AAS
>>133
ありがとうございます!できますた!
>マップデータがでかくなってきたら、データをファイルに移して
これはdllというのでしょうか?まだ全然やってない分野です。
>>134
さっそく真似しようとしたんですが、絵をまとめるとソースが長くなる、
ソースまとめると絵がまとめられない、という状況になってます・・
省2
136(1): 04/02/23 01:41 ID:tZlxc2xv(1) AAS
>>135
>>マップデータがでかくなってきたら、データをファイルに移して
>これはdllというのでしょうか?まだ全然やってない分野です。
普通にマップ構造を記述したファイルを読み込むだけだと思うんだけど、
そうしないとマップをちょっといじるだけで再コンパイルせにゃならんし。
137(1): 98 04/02/24 19:40 ID:+E54f9HV(1/2) AAS
>>136
リソースからは読み込めたんですが、デメリットしかないので、これではないですよね・・
xxx.txtから読み込めるとしたら、メリットがかなりありそうなんで、もうちょっと調べてみます。
なめらかスクロールは処理が多そうなので、まずは
キーを押したら1マス(32ドット)瞬間移動プログラム↓
外部リンク[txt]:www.geocities.co.jp
goto使ってしまった orz
138(1): 04/02/24 20:01 ID:Y7quTbTQ(1) AAS
>xxx.txtから読み込めるとしたら、メリットがかなりありそうなんで、もうちょっと調べてみます。
fopenやfgetsを使ってファイルを操作したことないのか…?
139(1): 04/02/24 20:03 ID:HARgZ9D7(1/3) AAS
InvalidateRectしてるなら明示的にWM_PAINTにジャンプしなくても次のメッセージループでWM_PAINT呼び出してくれると思うが・・・
もしやるとしても、gotoじゃなくcase WM_KEYDOWNの下にcase WM_PAINTをおいといて、breakを書かない、という風にした方がいいんじゃないかな。
140(1): 98 04/02/24 21:07 ID:+E54f9HV(2/2) AAS
>>138
ファイル操作はゲームに関係なさそうだったので、ほとんど勉強してないです。
fopenというのを調べて出直してきます。
>>139
今、gotoなしでやってみたんですが、不正終了?みたいになりました。
>gotoじゃなくcase WM_KEYDOWNの下にcase WM_PAINTをおいといて
こっちでは大丈夫でした。
省1
141(1): 04/02/24 21:28 ID:HARgZ9D7(2/3) AAS
>>140
goto抜いたらbreakつけなきゃダメよ(;´Д`)
breakつけないと、次のcaseラベルが実行されるから、この場合だとWM_CREATEが実行されてまう。
不正終了は多分そのせいかと
142(1): 04/02/24 21:30 ID:HARgZ9D7(3/3) AAS
>ファイル操作はゲームに関係なさそう
データファイルがないゲームなんてそうそうないと思うが・・・
最低でもセーブデータとか作るためにはファイル操作は不可欠だろう
143(1): 04/02/24 21:34 ID:QzqFx48f(1) AAS
RPGの半分はデータベースで出来ています
144(1): 04/02/24 22:31 ID:kFyAt63U(1) AAS
>>137
>リソースからは読み込めたんですが、デメリットしかないので、これではないですよね・・
いや最終的には、画像などのデータはリソースにまとめたほうが良いよ。
ただしバイナリのリソースね。画像なら、RGBデータの形で持つ、とか。
画像については、RGB配列(DIB)の扱いを練習しておいたほうが良いかも。
キャラクタの透過描画や画面の特殊効果などさまざまな場面で必要になって
くる。
145(1): 98 04/02/25 19:38 ID:g+59HVuE(1) AAS
>>141
あ、なんとなく理解しました。break;の代わりにreturn 0;でもいいってことですね。
>>142
作り始めた当初は、セーブが必要になるほど長いゲームは作れない気がしてたので。
いざとなったら ふっかつのじゅもん にすればファイル操作いらないな、とか思ってました。
>>143
まだシナリオとか考えてないんで、データベースの半分は手抜きです。になりそう・・
省2
146: 04/02/25 19:52 ID:MjBoX65v(1) AAS
>>145
この場合はreturn 0;でも動くけど、出来る限りbreakは書くクセをつけるべきだと思う。
147(1): 98 04/02/29 18:24 ID:Ycy/2GWo(1/4) AAS
DIBが理解できなくて停滞中
148: 04/02/29 18:41 ID:gj9x0Pg+(1) AAS
素直にJ-RPG使っとけ
149: 98 04/02/29 19:41 ID:Ycy/2GWo(2/4) AAS
C++でRPG作るのが目標なので、遠慮しときます
150: 04/02/29 20:14 ID:CI/gdVj9(1/2) AAS
>>147
どの辺が分からんの?
151: 98 04/02/29 21:21 ID:Ycy/2GWo(3/4) AAS
一つのbmpファイルをウィンドウに複数表示はできるのですが、
複数のbmpファイルを表示させようとするとメモリ不足とか言われます
152: 04/02/29 21:30 ID:CI/gdVj9(2/2) AAS
ソースを張ってくれないと何とも言えない
153(2): 98 04/02/29 21:49 ID:Ycy/2GWo(4/4) AAS
単一bmpファイル敷き詰め↓
外部リンク[txt]:www.geocities.co.jp
複数bmpファイル表示(コンパイルは通るけれど実行注意)↓
外部リンク[txt]:www.geocities.co.jp
下のは実行するとやばいので、コンパイルする人もしいたら気をつけてください
何か、根元から間違えてるような気がする。。
154(2): 名無しさんは14才 04/03/02 17:40 ID:W0CJyzOg(1) AAS
マカーのくせに口出ししてごめんね。
WinのAPIはほとんど触ったことないから半分カンなんだけど。
DrawMapの話だけど、せっかく定義してるのにMaparyをつかってないんじゃない?
icは4になってると思うから、添え字が範囲外なんじゃないかしら。
StretchDIBits(hdc , 32*map_x , 32*map_y , iWidth[Mapary[y][x]],(以下同)
みたいにしたかったんじゃないの?
というか、各BMPのサイズが同じなんだから、わざわざ画像からサイズ取得しないでも
省4
155(1): 124 04/03/02 18:49 ID:0D6IPbfs(1) AAS
>>153
いきなりRPGは無謀スギかも。
でもがんばってるみたいだから応援するよ。
ちょっと今時間無いんで、時間出来たらマップ表示を
HSPからCに書き直したものをアップするよ。
まあ、そのときには解決してるかもしれんが…
>>154
省6
156(1): 98 04/03/02 21:58 ID:YGTCiQU4(1/2) AAS
>>154
混乱してて、Mapary使うの忘れてました。
問題点を分かりやすくするために、StretchDIBitsの部分はとりあえず定数にしてみます。
>>155
javascriptで簡単なゲームは作ったことがあるんですが、C/C++でプログラム組むのは
初めてなんで、かなり無謀だとは思ってます。
マップ表示はたぶんできるんですが、その前に複数のbmpファイルを読み込むことが
省3
157(1): 04/03/02 22:18 ID:euQtmlJ9(1) AAS
>>156
BMPの読み込み(BMPからのDIB作成)は、マップチップなら「ビットマップ
の大きさ」を決めておくと楽。そうすれば自動的にBMPに格納されている
DIBピクセル列の大きさも特定できるから、ただ「ピクセル列までのオフ
セットから決まったバイト数読み込む」だけの処理になるからね。
1枚のBMPからDIBを作成できるようになったら、BMPも「マップチップを縦
に並べたビットマップ」にしておけば、一枚のビットマップから連続して
省2
158(1): 98 04/03/02 23:19 ID:YGTCiQU4(2/2) AAS
>>157
一週間悩んでたのに、一瞬でできますた。
外部リンク[txt]:www.geocities.co.jp
複数ファイルが読み込めないと何かが困るような気がしてたんですが、
ドラクエのようなものなら、困ることないですね。
159(1): 98 04/03/04 20:15 ID:UUYCFgVb(1) AAS
DIB版矢印キー押すと32ドット移動ウェイトつき
外部リンク[txt]:www.geocities.co.jp
Sleep中は全ての処理が止まるのかと思っていたら、その間入力した
キーを記憶しているらしく、Sleep中のキー入力が反映されてしまう。
160: 04/03/05 02:41 ID:dAc27ulc(1) AAS
>>159
タイマー使ってみたら?
自前でフラグ用意してtimeGetTimeではかっても良いだろうけど
161: 98 04/03/06 17:58 ID:9gF+FHHa(1/2) AAS
timeGetTime使ってみました。
外部リンク[txt]:www.geocities.co.jp
まだキーが記憶されてしまいます。
MSDN調べてみたら、
The GetAsyncKeyState function determines whether a key is up or down at the time the function is called,
and whether the key was pressed after a previous call to GetAsyncKeyState.
なので、GetAsyncKeyStateを使うこと自体をやめるか、いったん破棄しないといけなかったみたいです
162(1): 98 [age] 04/03/06 20:21 ID:9gF+FHHa(2/2) AAS
瞬間移動完成。
外部リンク[txt]:www.geocities.co.jp
微妙にゲームらしきものになってきた。
GetAsyncKeyStateのほうがゲームに適しているとどこかで見たけれど、
押したキーを勝手に記録してしまうため、使いこなせなかった。
次はキーを押したら16ドット移動を2回繰り返すものを作ろうと思う。
すでにDIB使ってるので、たぶん簡単にできるような気がする
163(1): 04/03/07 01:10 ID:gNoMVuak(1/2) AAS
自分も2月の最初くらいからAPI始めた者です。
使用言語はCで、今のところテトリスとかボンバーマンもどきを作りました。
現在外部リンク:www.sm.rim.or.jpを見ながら、
DIBを勉強中ですが、かなり苦戦してます。
>>98さんは何で勉強しましたか?良かったら教えて下さい。
164(1): 04/03/07 12:27 ID:/QKwfpo/(1) AAS
>>162
そろそろファイル入出力もかじり始めた方がいいかもね。
DIBが使えるならファイル入出力はそんなに難しくはない・・・はず。
165(1): 04/03/07 13:40 ID:Ha7O6gmU(1) AAS
なんでPeekMessage使ってるの?
166(1): 98 04/03/07 14:44 ID:/nCa36PZ(1/2) AAS
>>163
外部リンク[html]:black.sakura.ne.jp
ここと、MSDN見てます。
同じ時期に始めてもうボンバーマン作れるってすごい・・・。
>>164
DIBの前に少しかじったんですが、挫折しました。
xxx.iniというファイルを使えばいろいろできそうだけど、絶対パスで指定しなければいけない
省6
167(1): 04/03/07 15:08 ID:gNoMVuak(2/2) AAS
>>166
レスありがとうございます。
そこも前から見てたんですが、分からないのです。
でも、同じのを見て出来る方がいるという事は自分の努力が足りないって事ですね。
もう少し修行してきます。
ボンバーマンは全部マスク画像を使ってAND・ORする方法でやったのでそんなに難しくは無かったです。
では。RPG製作頑張って下さい。
168: 98 04/03/07 17:38 ID:/nCa36PZ(2/2) AAS
>>167
俺もまだよく分かってないんですが、ちょっとずついじってれば使えるようになると思います。
汚くてよければ>>153と>>158にソースがあるので、よかったらドゾー
右スクロール時のみ16ドット移動を2回するプログラム
外部リンク[txt]:www.geocities.co.jp
効率が悪すぎるような気がする。こういうのをスパゲティソースというのかもしれない。
(´-`)。oO(AND ORってなんだろう)
169(2): 98 04/03/09 18:14 ID:quioYjmo(1) AAS
C/C++始めて一ヶ月たったので、今回はEXEでうp(28.4KB)
外部リンク[zip]:www.geocities.co.jp
次はキャラ表示をしようと思う。透過処理が難しそう。
170(1): 04/03/09 20:50 ID:nDvOJ8eM(1) AAS
>>169
透過処理はAND OR
171(1): 04/03/09 22:45 ID:sCetmjvX(1) AAS
>>169
透過処理は単に「抜き色を決めてその色以外を転送する」処理をすれば
よいだけ。キャラクタのDIBを1ピクセルずつ背景に転送していっても、
速度的には問題ない。
この場合は32ビットDIBだと楽だね(DWORD単位でアクセスできるから)。
172: 98 04/03/11 19:38 ID:e07lqvXR(1/2) AAS
>>170
AND ORでググルとグーグルにヌッコロされるのでだめです
外部リンク:www.google.co.jp
>>171
肝心な部分が分かってないからなのか、実際にやろうとするとなぜかできないです。
外部リンク[txt]:www.geocities.co.jp
1ピクセルずつ表示もやってみたんですが、俺のPCのスペックのせいか、若干遅く感じました。
省2
173: 98 04/03/11 21:52 ID:e07lqvXR(2/2) AAS
微妙にずれるものの、透過しつつキャラクタのDIBを1ピクセルずつ背景に転送は成功。↓
外部リンク[txt]:www.geocities.co.jp
なめらかにスクロールさせるためにマップをtimeGetTimeで30msごとに描画しているんですが、
この透過方法だとキャラクタ描画処理が遅いため、歩行アニメーションをつけるときに
いろいろと苦労しそう。
メモリに読み込むときに透過処理をしたほうがよさそうだけど、なぜか透過しない。
174: 98 04/03/12 20:39 ID:grlqwW2o(1) AAS
上がソースで下が実行ファイル
外部リンク[txt]:www.geocities.co.jp
外部リンク[zip]:www.geocities.co.jp
問題点:画面がちらつく。キー入力を微妙に記憶してしまう。
次は街を作って、マップ切り替えをしようと思う。
どんなゲームにするかとかもそろそろ考えないといけないけど、そっちは興味がないので
適当に募集中。
175(1): 04/03/12 21:26 ID:qU+SxdKI(1) AAS
>画面がちらつく。
CreateDIBSectionでオフスクリーンバッファを作るんだ!
ダブルバッファリングともいう。
>キー入力を
簡潔に説明するのは難しいんだが、今のキー押下処理→描画処理のやり方は
ゲームのつくりk他としては完全に間違ってる。
ゲームループとか検索してみるとわかるかもしれん。
省5
176(2): 98 04/03/13 19:41 ID:xCK866zy(1) AAS
>>175
キー入力はできますた。かなり操作性向上
DIBSectionが難しくててこずってます。
本の通りにDIBSectionを使ってるはずなのに、エラーが出るのはなぜだろう。
177: 04/03/14 08:15 ID:wW4VHkXB(1) AAS
>>176
コンパイル時のエラーなら、型があっていない(またはSelectObjectなどが返す値を適切にキャストしていない)とか。
178: 04/03/14 17:48 ID:a3XrN6fU(1) AAS
>>176
とりあえずエラーを貼り付ける。
179(3): 98 04/03/14 22:20 ID:13t3R65N(1/2) AAS
エラー E2034 zz53.cpp 135: 'void *' 型は 'HBITMAP__ *' 型に変換できない(関数 __s
tdcall WndProc(HWND__ *,unsigned int,unsigned int,long) )
エラー出るソース
外部リンク[txt]:www.geocities.co.jp
(HBITMAP)つけてみたらコンパイルは通ったんですが、DIBSectionには何もさせていない
のに、強制終了します。
本はCで書かれているんですが、自分の書いてるのがたぶんC++なので、
省1
180: 04/03/14 22:32 ID:RZwlVtdf(1) AAS
>>179
>(HBITMAP)つけてみたらコンパイルは通ったんですが、DIBSectionには何もさせていない
>のに、強制終了します。
とりあえず、怪しいところをコメントアウトするなり変数の値を表示さ
せるなり(デバッガがあるならブレークポイントを入れる)してどこで
落ちるのか、特定してみた方が良いね。
>本はCで書かれているんですが、自分の書いてるのがたぶんC++なので、
省8
181: 98 04/03/14 23:00 ID:13t3R65N(2/2) AAS
ゲームプログラミング練習帳 という本見てます。
デバッガですが、今問題にしている部分より前の段階ですでに止まってくれるので
使い物にならない状態です。止まる部分も、CとC++の違いのせいの気がします。
Cは全然知らないんですが、見ているサイトも本もCを使ってAPIの解説をしているので、
Cで書き直すのが早いような気がしてきました・・・
182(2): 04/03/14 23:21 ID:gdC9c3eD(1/2) AAS
>>179
原因は133行目の&lpPixel。
hBMP = CreateDIBSection(hdc , &biInfo , DIB_RGB_COLORS , (LPVOID *)(&lpPixel) , NULL , 0);
↓
hBMP = CreateDIBSection(hdc , &biInfo , DIB_RGB_COLORS , (LPVOID *)(lpPixel) , NULL , 0);
おかしな指定をしたせいで、lpPixelのポインタの値が変な値に書き換わって壊れてしまっている。
HeapAllocしたときのlpPixelの値と133行目でのlpPixelの値を調べてみれば、壊れているのが分かるはず。
省1
183: 04/03/14 23:32 ID:gdC9c3eD(2/2) AAS
あぁ、97行目の
>iOffset = *(LPDWORD)(lpBMP + 10);//iOffset ピクセルが格納されてるアドレス、ここでなぜかデバッガ止まる
でとまるのは、BMPファイルが見つかってないからでしょ。多分。
ちゃんとCreateFileのエラー処理を汁!
あと、
>(HBITMAP)つけてみたらコンパイルは通ったんですが、
これは、Windows的には正しい。Cだと書かなくてもコンパイルと折るけど、
省1
184: 182 04/03/15 00:06 ID:mfA2vkrj(1) AAS
ごめn>>182は違った。
CreateDIBSection()なんか久しぶりに使ったから忘れてたよ。
>>179の使い方なら、
hBMP = CreateDIBSection(hdc , &biInfo , DIB_RGB_COLORS , NULL , NULL , 0);
でいいんじゃない?一応うごいたよ。
185(1): 04/03/15 00:14 ID:BH49Bw7k(1/2) AAS
ちうか、CreateDIBSectionで作ったビットマップ使って無いじゃん…
あと、hdcをグローバル変数にするのはよくないと思う。
186(1): 98 04/03/15 00:37 ID:YR7Ealek(1) AAS
>>182
(LPVOID *)(lpPixel)でもNULLでも動きました。
CreateDIBSectionの第4引数にはポインタのポインタを指定しなければいけないのに、(LPVOID *)(&lpPixel)
だとアドレスのポインタのポインタだから間違いというところまでは分かったんですが、
Cだと(LPVOID *)(&lpPixel)が正しくて、C++だと(LPVOID *)(lpPixel)が正しいということは
ポインタの書き方がCとC++で違うということなんでしょうか。。
>>185
省4
187: 04/03/15 11:07 ID:BH49Bw7k(2/2) AAS
>>186
>(LPVOID *)(lpPixel)
は間違い。
引数の指定の仕方としては、もとのソースの(LPVOID *)(&lpPixel)が正しい。
ただし、(LPVOID *)(&lpPixel)のままだと、CreateDIBSectioiでlpPixelが上書きされてしまうから
今度は透過処理の部分で今度は止まるよ。
CreateDIBSectionの説明をよく読んで、正しく使うべし。
省2
188: 04/03/16 21:28 ID:av2PqUu3(1) AAS
ローカル変数は関数の冒頭で処理を記述する前に宣言する。
C言語の場合はね。
C++はドコでも良いことになっている。
189(1): 98 04/03/16 23:08 ID:ALMDs/3/(1) AAS
難しくて混乱してきたのでちょっと整理
1.DIBとしてもDDBとしても操作可能なビットマップをCreateDIBSectionで作る
2.デバイスコンテキストを2つ用意する
3.デバイスコンテキストAに表示するマップより1マス分大きいマップを描画する。
4.AからデバイスコンテキストBに表示する部分だけ描画
5.Bから画面に描画
たぶんこうすればいいんだと思うんですが、4くらいで行き詰ってます。
省1
190(2): 04/03/16 23:47 ID:R0OmoIwo(1) AAS
>>189
DIBSectionベースで、一マス多く描いたスクロール用ビットマップから
表示用ビットマップに転送していく、というのならこんな感じでやるとか。
外部リンク[html]:www.sm.rim.or.jp
191(1): 04/03/16 23:52 ID:PRaC3s4r(1) AAS
だめですた、とかいうなら、詳細な症状を言うか、ソースを提示すべし。
初心者はエキセントリックなソースを書くからな。
>3.デバイスコンテキストAに表示するマップより1マス分大きいマップを描画する。
そんなことはない。CreateDIBSectioniで作るのはウィンドウサイズと同じ大きさで良いよ。
というか誰だよこんな嘘おしえたの。わざわざ難しく教えて面白いのか、といいたい。
これまでウィンドウのhdcに対して行ってきた描画とまったく同じ事をCreateDIBSectioinで
つくったDIB(を設定したhdc)に行えばいい。
省6
192(2): 98 04/03/17 00:57 ID:AN01uPyl(1/2) AAS
>>190
今の状態でマルチスレッドにまで手を出すのはちょっときついです・・・
>>191
外部リンク[txt]:www.geocities.co.jp
StretchDIBitsのデバイスコンテキストをhdcにすれば描画されるんですが、1段階ふむとなぜか
だめです。
>なぜちらつきが起こるか
省1
193(1): [俺は解読に2時間もかかったアホage] 04/03/17 02:56 ID:QickIzjR(1) AAS
>>192
なぜかじゃねーよ。
まじで、ローカル変数のこと勉強しろ!今すぐ。
変数スコープって分かるか?
まぁ、一応答えを。
↓をグローバル変数に。以上。
86:HDC hdcBMP;
省4
上下前次1-新書関写板覧索設栞歴
あと 281 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.035s