トップページgamedev
133コメント45KB

なぜVBは扱いが低いのか

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/09/14(火) 02:49:56ID:czSliofv
よく考えてみよう
0002名前は開発中のものです。2010/09/14(火) 05:21:31ID:WlEbFNOI
VBランタイムをわざわざインストールしないと動作しない時代があったから
0003名前は開発中のものです。2010/09/14(火) 18:40:13ID:ipnOU/rx
VBだから
0004名前は開発中のものです。2010/09/14(火) 22:48:07ID:B4IG625b
VBはよほど上手く作らないと遅いからな……
うちの会社の人が機械連動でVB動かして、速度上げると動かないとか言ってた
アナログの高速反応に対応するには厳しいだろって(ry
0005名前は開発中のものです。2010/09/18(土) 05:48:18ID:wagE6s3t
ツクールと同じで「手軽に誰でも簡単に」が売りの言語だからね。
元々敷居が低い事を狙って使い始めた連中が多いので、「動けば良いや」というレベルに留まりがち。

その上、凝った事をやろうとするとそこらの言語よりも数倍苦労しなくちゃならない。
フォームにコントロールを配置して記述していくという武器を取り上げられる事になる。

もちろんフォームを使ってゲームを作る事もできるものの、そもそも Windows GUI はゲーム向きじゃない。
結果的にそれらのゲームは見た目もしょぼく、操作性も悪いという烙印を押される事になってしまう。
0006名前は開発中のものです。2010/09/18(土) 08:57:02ID:dUyYjQsJ
クイズゲームやノベルゲーム、選択肢式アドベンチャーなどは作れるかな。
DirectXでアクションやシューティングとなると、VBでやるのはマゾ行為でしかないな。
0007名前は開発中のものです。2010/09/18(土) 09:59:14ID:zX/pNeib
VB というと今でも VB.NET じゃなくて VB6 以前になるんかな
0008名前は開発中のものです。2010/09/18(土) 10:00:27ID:zX/pNeib
ゴメン表現がおかしいな
VB と記述した場合、今でも VB.NET じゃなくて VB6 以前を指すのかなぁ
0009名前は開発中のものです。2010/09/18(土) 13:22:59ID:5vuWqU8U
VBは、ランタイムが別で配布されることが多くて、わざわざ自分でこんな無駄にサイズが大きいものを追加で入れなきゃ動かんのか!みたいな受け取られ方しただけでしょ。
VCだって、C++のランタイムとMFCのDLLを合わせただけでも、結構なサイズなんだけど、静的リンクしてたりアーカイブ同梱で勝手にインスコするから、素人は気づかないだけ。

あと、ゲーム云々に関して言えば、VB5までは、DXが標準で使えなかったけど、VB6以降は普通に使える。
パフォーマンス的にも、2000年代に入って、ポリゴンの頂点計算とかハードにやらせるようになってからは、よほど限界ギリギリの領域でもない限り、C++で書くのと大差なんてなかったよ。
使う奴が少ないのは、単に参考資料が殆どないから誰も使わない、というだけ。
0010名前は開発中のものです。2010/09/18(土) 14:08:42ID:A4GUH+kV
さてっとおいらがVBでゲーム作りますよってゲ製なんでゲーム作る話題にしようぜ

とりあえず課題スレにある15パズルから作ろうとおもたけどいきなりは大変なので9パズルに挑戦な

んで、下記はピースの動きのコード下にしか動かんけど、いい感じだフォームとピクチャーボックスでいける
Sub picDown()
Dim nowX As Integer = PictureBox1.Left
Dim nowHeight As Integer = PictureBox1.Height
Dim newY As Integer = PictureBox1.Top + nowHeight
Dim idouY As Integer = nowHeight / 6
For i As Integer = 1 To 6
PictureBox1.Top += idouY
Threading.Thread.Sleep(10)
Me.Refresh()
Next
PictureBox1.Top = newY
Me.Refresh()
End Sub
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If (e.KeyData = Windows.Forms.Keys.Down) Then
'MsgBox("↓", MsgBoxStyle.Information, "Form1_KeyDown")
picDown()
End If
End Sub

Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
MsgBox(e.KeyChar, MsgBoxStyle.Information, "Form1_KeyPress")
End Sub
0011名前は開発中のものです。2010/09/18(土) 19:25:55ID:eXol6kqo
SFC・メガドラ・PCエンジンのSTGを語るスレ
http://yuzuru.2ch.net/test/read.cgi/gamestg/1206538342/779
> 779 名前:名無しさん@弾いっぱい[] 投稿日:2010/09/15(水) 13:08:43 ID:9cI7/JLI0
> PCEでもMDでもSFCでもないが、それっぽい(昭和っぽい)画面の
> ゲームがある。
> はっぴぃしゅーたーVB6
> ttp://homepage1.nifty.com/shifu2/main.html
> なんとなくPCE版究極タイガーやガンヘッドあたりを参考に作ったようだ。
> PC用だが、試しにやってみるといいかも?

これ、ソースが公開されていればもっと良かったのにとか身勝手な事を言ってみる。
Visual Basic でシューティングとはなかなか頑張ってるね。
0012名前は開発中のものです。2010/09/18(土) 20:00:19ID:A4GUH+kV
おっす、おいら10
ちょっと進歩したぜ!あぁ>>11さんオイラシューティング苦手だから無理な
ちょっとソース長くなったからここに貼らないほうがいいかな
どこかUPローダーない?
0013102010/09/18(土) 20:12:18ID:A4GUH+kV
あぁみっけた

http://gmdev.xrea.jp/st/up/125.txt
とりあえず、上下移動ができるようになった
キモはピクチャーボックスオブジェクトを配列にいれて処理してるとこだな

こりゃ楽勝だぜ
0014名前は開発中のものです。2010/09/19(日) 00:16:04ID:DdCJ+ie2
VBだからフォームに操作ボタンはりつけるのかと思ったら、
そこまで原始的じゃなかったかw
0015102010/09/19(日) 01:04:51ID:9fB8MUem
おっす!>>14見てくれてうれしいぜ
終了判定いれてみた
Sub EndOfGame()
For i As Integer = 1 To 9
If Not (obPicsWin(i).Name = obPics(i).Name) Then
Label1.Text += ":No"
Exit Sub
End If
Next

Label1.Text += ":End"
End Sub

キモは配列に正解を入れておくとこだぜLOAD処理でやってる
これで最初のならびに達したかどうかがわかるぜ!
ReDim obPics(10), obPicsWin(10)
obPics(1) = PictureBox1
obPics(2) = PictureBox2
obPics(3) = PictureBox3
obPics(4) = PictureBox4
obPics(5) = PictureBox5
obPics(6) = PictureBox6
obPics(7) = PictureBox7
obPics(8) = PictureBox8
obPics(9) = PictureBox9

For i As Integer = 1 To 9
obPicsWin(i) = obPics(i)
Next
既にゲームぽいけどもっと進化させるぜ
0016102010/09/19(日) 15:06:33ID:9fB8MUem
おはよう!オイラ10
ちょっと工夫して画像を自分で設定できるようにしてる
んで画像読み込んでコピーするまで出来た!フォームとピクチャボックス2つとダイアログ1つで簡単にできる
これ組み込んだら完成だな

次のがコピーのコードだ、結構厄介だったぞ
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim img = New Bitmap(PictureBox1.Image)
'PictureBox1のGraphicsオブジェクトの作成
Dim g As Graphics = PictureBox2.CreateGraphics()

'元の画像の(10,10)-(100,100)の部分を切り取って表示する
'座標(0,0)に表示し、単位をピクセルとする
Dim rect As New Rectangle(PictureBox2.Top, PictureBox2.Left, PictureBox2.Width, PictureBox2.Height)
g.DrawImage(img, 0, 0, rect, GraphicsUnit.Pixel)

Dim newBMP As Bitmap = img.Clone(rect, img.PixelFormat)

PictureBox2.Image = newBMP.Clone

'Graphicsオブジェクトを破棄
g.Dispose()

End Sub
0017102010/09/20(月) 01:23:14ID:tt0g1Jsk
深夜にオッス!おら10
ちょっといい感じになったのでソースアップ

画像)http://gmdev.xrea.jp/st/up/126.bmp
ソース)http://gmdev.xrea.jp/st/up/127.zip
TOOLはVS2008のVB2008

起動してそのままでも動くけど、背景を選択してBMP画像選んでくだちい
ピース部分だけカラーであとは白黒になります
で動かして、元の場所になると全部カラー表示します
(背景が小さいとエラー起こすのは愛嬌

無駄ゲ処理とかミスとか修正したから結構遊べるお!
キモはほとんどWebから見つけたソースってとこだなw

楽勝
0018名前は開発中のものです。2010/09/20(月) 21:49:16ID:NsfXsaz0
>11
はっぴぃしゅーたーVB6 を作ったモノです。
自分のゲーム名でぐぐったらここに出てしまいました。

ソースの公開は不可能ではありませんが、コード量が膨大で、
まず初見でいやになります。
クラスモジュールだけで87個です。いやになったでしょ。

VB6とVB.netではポインタの扱いが違うので
.net開発者がみてもあまり参考になりませんし、私も.netは素人です。

ゲームの基本的な事は相談に乗れるとおもうので、>11のホームページにある
メールアドレスから相談してもらってかまいませんよ。
0019名前は開発中のものです。2010/09/21(火) 14:10:35ID:Pi94IK3A
ども はっぴぃしゅーたーの作者です。

はっぴぃしゅーたーの代わりに、昔作った簡単なシューティングの
ソースをあげました。参考にしてください。
ttp://homepage1.nifty.com/shifu2/DL/SH.zip

古いプログラムなのでウエイト3万くらいかけないと速すぎて遊べませんよ。
ウエイトに234567と入力すると無敵モードになります。

これはその昔、私がマイコンベーシックマガジンに投稿したものに、
多少手を加えたものです。
0020名前は開発中のものです。2010/09/21(火) 15:00:53ID:JVxXVz/k
>>19
わわ、これはすごい。

私は Visual Basic ってもう扱ってなくてインストールもしてなかったりなんですが、
こういうサンプルがあれば何か色々応用できそうですね!

また Visual Basic 触ってみようかな〜。
0021102010/09/23(木) 01:35:59ID:g/9awED0
こんばんわ!10です!
>>19ダウンしました!S藤さん、すごいお!こういうのあると触発されちゃう
いまVB2008にうpぐれどしたけど、さすがにそのままじゃ動かん><
ちょっと動くようにしてみる
9pzlは難易度とシャッフルを実装した、後は出来上がりまでの動いた回数記録すればゲームになりそうです
■ このスレッドは過去ログ倉庫に格納されています