投稿者 ころんぱ  (社会人) 投稿日時 2011/2/1 03:42:03
 こんばんわ
 画像の表示方法について教えてください
 VB2010をいじり始めて結構経つのですが、画像の表示がいまひとつうまくいきません。
サイトによりやりかたが違っていて、それで混乱してるとこもろある感じなのですが・・
 ここのサイトでは、ちょうどゲーム講座というものが連載され始めていましたので、ちょうどいいなと思い、改めて試してみましたが、この短いロジックさえもうまくいきませんでした。

 最近は疲労感でいっぱいなので;ここで素直に質問に書いてみたいと思います (最近は質問を連発ぎみになってしまって申し訳ないと思いますが・・)

 このサイトの講座の↓
 第1回 キャラクターの出現と移動
 2.キャラクターの表示
 2-2.描画プログラム
のサンプルを実行したのですが、表示されたキャラクターは非常に拡大された状態で、フォームには数ピクセルしか見えない状態になりました(1ピクセルが、フォームの1/5くらいに広がっています)
 いろいろ検討すべきとありますし、それが肝だと思ってフォームのプロパティなどなどいろいろ試してたのですが全く変化が無く、私には解けませんでした;
 そこで、等倍で表示できるよう方法を教えて頂けないでしょうか??
 (ちなみに左右に揺れる動作をするよう改造してみたらちゃんと動いたので、(黒い壁がゆれているのでわかる)移動部分はうまくいってると思います)

 それから、窓にあわせて拡大縮小は出来るのでしょうか?
 どんなPCでも対応出来るようにと考えて、320×240でやりたいのですが、拡大しないと小さくてみずらく、それに(サイズ可変出来るように)後から作り変えになるよりは・・、と思って画像を拡大出来るよう、VB6の説明や海外サイトなどを参考にして組んでいたのですが、非常にわかりずらく大変な上、シンプルにしたいのに座標の演算にもすべてかかわって無意味に複雑になってしまうので、出来れば最初から窓にあわせて拡大出来るようにしたいと思います。これも出来ればアドバイスお願いします;

 他、画像はpictureboxに描画は出来ないでしょうか?
 (全くやりかたや考え方が違うのであれば、しかたないのですが)
 ここでのサンプルはたぶんフォームに描画がされていると思います。それを決めているのは
下記の”Me.BackgroundImage = bmp”のところのように思いました(たぶん)

 ※サンプルソースのコピペです
Private Sub Init()    '▼描画用のGraphicsクラスの確保(技術的な処理)
    If mainGraphics Is Nothing Then
        '初回のみ生成
        Dim bmp As New Bitmap(Me.ClientRectangle.Width, Me.ClientRectangle.Height)
        Me.BackgroundImage = bmp
        mainGraphics = Graphics.FromImage(bmp)
    End If

 ただ代入してるように見えますが・・・初心者には難解でしたら今はあきらめます
 これも、アドバイス頂けたらお願いします<(__)>