なぜVBは扱いが低いのか

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

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

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

あと、ゲーム云々に関して言えば、VB5までは、DXが標準で使えなかったけど、VB6以降は普通に使える。
パフォーマンス的にも、2000年代に入って、ポリゴンの頂点計算とかハードにやらせるようになってからは、よほど限界ギリギリの領域でもない限り、C++で書くのと大差なんてなかったよ。
使う奴が少ないのは、単に参考資料が殆どないから誰も使わない、というだけ。
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
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 でシューティングとはなかなか頑張ってるね。
2010/09/18(土) 20:00:19ID:A4GUH+kV
おっす、おいら10
ちょっと進歩したぜ!あぁ>>11さんオイラシューティング苦手だから無理な
ちょっとソース長くなったからここに貼らないほうがいいかな
どこかUPローダーない?
1310
垢版 |
2010/09/18(土) 20:12:18ID:A4GUH+kV
あぁみっけた

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

こりゃ楽勝だぜ
2010/09/19(日) 00:16:04ID:DdCJ+ie2
VBだからフォームに操作ボタンはりつけるのかと思ったら、
そこまで原始的じゃなかったかw
1510
垢版 |
2010/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
既にゲームぽいけどもっと進化させるぜ
1610
垢版 |
2010/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
1710
垢版 |
2010/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

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

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

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

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

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

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

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

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

また Visual Basic 触ってみようかな〜。
2110
垢版 |
2010/09/23(木) 01:35:59ID:g/9awED0
こんばんわ!10です!
>>19ダウンしました!S藤さん、すごいお!こういうのあると触発されちゃう
いまVB2008にうpぐれどしたけど、さすがにそのままじゃ動かん><
ちょっと動くようにしてみる
9pzlは難易度とシャッフルを実装した、後は出来上がりまでの動いた回数記録すればゲームになりそうです
22名前は開発中のものです。
垢版 |
2010/09/23(木) 09:43:27ID:lxuZ5/eI
ども はっぴぃしゅーたーの作者です。
>>21
簡単にはいかないでしょうね。
作り直すぐらいの覚悟は必要でしょう。
私も.NETで何か簡単なモノでも挑戦してみようかな?
2310
垢版 |
2010/09/23(木) 21:44:41ID:g/9awED0
わんばんこ!10です
9pzl難易度と回数いれて完成!
ttp://gmdev.xrea.jp/st/up/128.zip
実行は上下左右の矢印キーのみ
こうやってVBの地位を上げていかんと扱い低いままっしょw

>>22さん是非是非何かお願いします私は.NETとかあまり意識せずに作ってますのでソースはひどいですが何もしないよりましかなw
2010/09/25(土) 12:14:33ID:+R682GnI
地位ってなに?VBがゲーム作製にあまり使われてないって意味?それならそれなりの理由があるんだろう。地位とか関係ないと思うよ
25名前は開発中のものです。
垢版 |
2010/09/25(土) 17:34:06ID:2hRmDCIo
 VBは入門用の言語と思われているが、慣れればかなりの事ができる。
C系の言語にかなわない部分もあるが、それは、かなり高レベルでの話である。
だから、トップクラスのCプログラマーに言われるのは仕方ないが、
まだ未熟なCプログラマーにVB使ってるってだけでバカにされるのは面白くない。

 それにゲームの場合は、開発言語よりも、ゲームデザインやバランスの方が、
ずっと重要だ。私個人としては、一人でゲーム作るなら、むしろVBの方が
作りやすいと思う。
2010/09/25(土) 17:37:01ID:bxNjJ7gc
>開発言語よりも、ゲームデザインやバランスの方が、ずっと重要だ。
自分でこう言ってるのに言語に執着してるのはあなたじゃないの?
2010/09/25(土) 17:43:04ID:E35+Unat
そりゃまあAPI呼べば何でもできるだろ
定義が面倒なのと処理が遅いのに目をつぶれば
28名前は開発中のものです。
垢版 |
2010/09/25(土) 19:12:05ID:2hRmDCIo
 だから、そこいらのヘボCプログラマがVBを馬鹿にしなけりゃ、
こっちも何も言わねーよ!
2910
垢版 |
2010/09/25(土) 20:41:05ID:crViLJs/
うは書き込み増えてると思ったらくだらねぇぇwwwwww
何も作れない奴が暴れてるwwww
2010/09/25(土) 22:43:46ID:Qknj2owV
普通5,6程度の言語は使いこなせるだろw
2010/09/26(日) 03:34:02ID:GFJo5D04
バイリンガルかっ!
32名前は開発中のものです。
垢版 |
2010/09/26(日) 06:27:29ID:+vY3rXO9
ども はっぴぃしゅーたーの作者です。
私が>21で上げたシューティングは、初代ペンテアムの133MHzで開発
したモノでした。今では考えられない低スペックですね。当時は、いろいろ工夫して、
どうにか遊べるモノにするのがやっとでした。現在のPCスペックは当時からみて、
かなり余裕ができました。はっぴぃしゅーたーは、VBではかなり快適に動く
シューティングなので、システム的に工夫してる部分も含めて、まだ遊んでいない人には、
プレイしてみてほしいな。VB6の底力を見せた一作です。
ttp://www.vector.co.jp/soft/winnt/game/se485994.html

さてと、VB2010インストール完了。そろそろ始めますか。
2010/09/26(日) 08:01:01ID:XaisDtzW
まあ、相当気合いを入れないと作れないということね
34名前は開発中のものです。
垢版 |
2010/09/26(日) 15:16:09ID:pHl3M3no
ども はっぴぃしゅーたーの作者です。
VB6のプロジェクトが開けない!!あわててVB2005をインストールして
やっと開けた。VB2010はアップグレードウィザード使えないのか。
2010/09/26(日) 15:42:46ID:lHMdYKpV
ふと思ったんだけど、テキストエディタでコーディングしてる人っている?
2010/09/26(日) 16:33:09ID:bCTQVsvX
んな不便なことするかよ
2010/09/26(日) 16:42:20ID:lHMdYKpV
だよね。
秀丸エディタに Visual Basic 用の設定ってのがあって。
それを使っている人が結構いるんだろうかと思った次第。
2010/09/26(日) 18:18:07ID:yrNBgQjD
>>19
ベーマガ。懐かしい。
39名前は開発中のものです。
垢版 |
2010/10/28(木) 19:11:57ID:CaT0QWGN
ども はっぴぃしゅーたーの作者です。
VB2005用の簡単なシューティング作成用のサンプルを作りました。

多くのモジュールはVB6からアップグレードしてちょっと修正しただけなので、
汎用モジュールとしての動作保証は、まったくできません。

本気にせず、遊びだと思って、ちょっとやってみたら、あとは軽くスルーしてくださいね。

ttp://homepage1.nifty.com/shifu2/DL/shsmp.zip
40名前は開発中のものです。
垢版 |
2010/12/20(月) 20:55:09ID:42vhvFVB
ども はっぴぃしゅーたーの作者です。
ずいぶんたったけど、反応も無いし、このスレも死んだかな?

19と39のダウンロードは終了しました。
希望があれば、また上げてもいいですが、このスレ、もう誰もいなくなった?
2010/12/20(月) 20:58:45ID:tSn6WWlU
VBはね〜〜〜〜
2010/12/20(月) 21:20:38ID:QFc2zBmU
Dim a, b, c as Integer

aとbがVariant型になるクソ仕様
2010/12/20(月) 22:05:03ID:QsiEEriE
Cだって
int* a, b, c;
だとb,cがポインタにならないクソ仕様だろ。
2010/12/21(火) 16:29:02ID:7aHXn5Mm
VB4の時代はVB製のフリーソフトで溢れてたのにな
netになったら空気になった
2010/12/26(日) 03:25:06ID:B2L0EVS5
IDEを使うことがおもちゃ感覚だったから、
スレタイのようになった。
2010/12/26(日) 12:05:56ID:8A6DD09t
今はおもちゃとしても使われていない気がするが
47名前は開発中のものです。
垢版 |
2010/12/27(月) 15:44:36ID:9UN6YrZo
Basic でないとしたら、最近の入門用言語の主流はなんだろう?
みんなどの言語から勉強した?
48名前は開発中のものです。
垢版 |
2010/12/27(月) 18:44:43ID:LIM8ha7O
javaとかだとおも。用途にもよるけどな。
2010/12/27(月) 21:08:46ID:bA4XTyqA
ちょっとしたゲームならHSPじゃない?
2010/12/27(月) 22:36:53ID:vMdaH+Uh
Cだろ。
2010/12/27(月) 22:37:50ID:1hBCR7zC
FORTRANから入ったぞ
変数名は6文字までとか、信じられないような制限がついていた
52名前は開発中のものです。
垢版 |
2010/12/28(火) 10:19:44ID:ZYps5wHo
私が学生の頃、うちの工業大学では、FORTRANとZ80アセンブラの授業があった。
アセンブラから入ったヒトいますか?
2010/12/28(火) 20:05:48ID:CR+nQygy
アセンブラってゲームに使うの?
2010/12/28(火) 21:16:07ID:jveC8Oi5
>>51
昔のBASICは実質2文字だったぞ
2010/12/28(火) 21:17:38ID:jveC8Oi5
>>53
8biit時代のゲームはアセンブラが多いよ
56名前は開発中のものです。
垢版 |
2010/12/29(水) 09:41:22ID:WjGcI1fE
スーファミぐらいまでのゲーム機のCPUは、パイプライン処理とか関係ない
から、アセンブラが一番速い。当時のゲームプログラマはアセンブラ必須だった。
Cで作るようになったのはPSぐらいから。PCではもう少し早くCが出てきていたな。
詳しくは知らないが、Basicにアセンブラを埋め込むことができたから、
それでゲームを作ってる人もいたようだ。
2010/12/29(水) 12:37:55ID:BgkkN7Fc
VB6製のプログラムって、XP以降だったらランタイムいらないよね?
58名前は開発中のものです。
垢版 |
2010/12/29(水) 13:15:37ID:WjGcI1fE
たぶん問題無いハズ。例外もあるかもしれませんが…。
2010/12/29(水) 14:19:08ID:g7boaeVb
たしかWindows98SecondEditionくらいから、VBランタイムはデフォルトでインストールされてたと思う。
それ以降のOSで「ランタイムが不要」なのか「ランタイムは必要だがデフォルトでインストールされてる」なのかは……どっち?
2010/12/29(水) 14:25:44ID:SyxT+0YU
XPって入ってたっけ?
自分でインストールした記憶があるんだが…
2010/12/29(水) 14:41:53ID:7lpfQacz
>>59
そんなことないと思うが・・・。
62名前は開発中のものです。
垢版 |
2010/12/29(水) 14:45:08ID:WjGcI1fE
自作PCにWindows2000SP4インストール直後にVB6ソフトを動かしたときは、
ちゃんと動いたよ。
2010/12/29(水) 20:15:16ID:gI8zZWVx
Windows 9x 系 (Me 含む) にはランタイムは入っていないよ。
2010/12/29(水) 20:19:25ID:yC9qsouw
98からはVB5のランタイムが標準になって
XPはVB6のランタイムが標準になったんだよ、たしか。

5で作っておけば、やり方次第でEXEひとつだけのアプリが作れた。
2010/12/29(水) 21:00:08ID:gI8zZWVx
>>64
そいや、9x 系で 5 のランタイムをインストールした覚えがない。
したのは 4 と 6 だけだね。5 だけ入ってるのかな、なるほど。
2010/12/29(水) 21:01:39ID:7lpfQacz
VB6SP6のランタイムは入ってなかったと思うが。
2010/12/31(金) 10:25:03ID:Ic5d420K
>>53
DXライブラリなどのライブラリのソースを眺めてごらん。
インラインで使われてることがまだまだ多いよ。
2011/01/09(日) 13:38:15ID:elzioAqQ
今から思えば、VBってのは偉大だったな。
プログラミングの敷居を一気に下げた。
誰でもチャレンジしやすくなるってのは重要なことだ。
69名前は開発中のものです。
垢版 |
2011/01/09(日) 15:51:41ID:sJZnrOWG
VB.NETは、VB6と比べてWin32APIの使い勝手が、抜群に悪い。
先日もAPIでフォント作って表示しようとしただけで、どえらい苦労した。

.NETでは「APIは使うな」と言っているようにしか思えん。

そこらへんもVB6から.NETへの移行に失敗した原因だと思う。
マルチスレッドの為に仕方無く移行してるけど…VB6は偉大だったに同感。

C#のユーザーさんは、C#でのAPIの使い勝手をどう思っているのかな?
2011/01/09(日) 15:53:13ID:JEyWLqfJ
遅いから。。。
2011/01/09(日) 21:46:35ID:ue/9A442
.netになってから完全に空気になったな
2011/01/09(日) 23:14:35ID:uGWJcVdy
C#の方が使い勝手いいし。
73名前は開発中のものです。
垢版 |
2011/01/10(月) 16:04:30ID:teMdwB66
けど、タイピング時に大文字小文字を区別しない。…とか、変数の型変換を
わりと自動でやってくれる(爆弾つきだけど…)など地味にいいところも残って
いたりする。特に大文字小文字…は目が悪い人でもフォントサイズ大きく
しなくていいから作業画面が広く使えて便利。
2011/01/10(月) 16:08:49ID:kcT+hn5M
VB.netは失敗だったね。もう過去形で語っちゃうくらい。
あそこまで変わると、自然とC#への移行になっちゃう。

まあ、それを意図してたのかもしれないけど、量産プログラマの多くは
Java案件の方に行ってしまったのではなかろうか。
Webアプリ化の流れと重なったし。
2011/01/10(月) 16:12:22ID:AguL7c+y
.netになってから、vb.net c#どっちだっていいって感じですけど。
2011/01/10(月) 16:25:16ID:rkPxQGkr
大文字小文字が一緒だとなんか気持ち悪い気がするんだけどなぁ。
まぁ大文字と小文字で別変数を作る訳でもないんだけどね。

あと文字列の結合やらエスケープやらコメントアウトやら制御構文やらBasicのはなんか違和感ある。
Basic使い慣れた人にはいいんだろうけどね。
C#、C++、Java、Javascript、Action script、Perl、PHPと似たような感じなのにVBだけ全然違うから、たまに使うときに戸惑う。
2011/01/10(月) 16:31:43ID:GZNIEdmC
VBのコメントって、シングルクォート打つと、そのあと改行までがコメントになるんだよね?
複数行コメントアウトってできたっけ?
78名前は開発中のものです。
垢版 |
2011/01/10(月) 16:55:34ID:teMdwB66
>>77
できないと思う。ただ選択した複数行全部にシングルクォートをつけるボタンと、
同じように複数行のシングルクォートを一斉に外すボタンがツールバーにある。
79名前は開発中のものです。
垢版 |
2011/01/10(月) 17:02:10ID:teMdwB66
>>76
多くの言語がCをベースに考えられたから似たんだろうね。
Basic は、Cより古いから似てないんだろう。
これからできるであろう言語も基本C系のプログラマが考えるだろうから、
Cに似た構文になると思う。
2011/01/10(月) 21:07:48ID:7lIEv414
バーチャルボーイのスレかと思った。
81名前は開発中のものです。
垢版 |
2011/01/11(火) 14:03:18ID:ca2BG/qS
もともとC言語の最大の利点はポインタの導入で、それまでアセンブラの独壇場
だったハードウェアレベルの処理を高級言語で可能にした事。…C++ではオブジェクト指向
を導入して最強の言語になったが、C#やJavaでは、ポインタの排除(または制限)、
オブジェクトの多重継承も無くなるなど、むしろ弱体化している。

話は突然変わるが、VBは入門用の言語としては、一定の価値はある。…が、
問題は次のステップへの移行である。VB6時代には、VBも上級者になると
APIをどんどん使うので、ポインタなどは自然に身に付く。そこからVC++
に進む事も可能だった。
だが、.netになってAPIは使わなくなり、VC++へのハードルは高くなった。
C#への移行は楽だが、同じフレームワークで動作する限り、性能的なメリットは少ない。
やっぱ前の方が良かった。VB7.0とか出ないかな。
2011/01/11(火) 17:55:44ID:Pftqt+rI
多分、6までのVBにマルチスレッドの機能が付けば、
最強になるんだろうね。
2011/01/11(火) 18:24:06ID:Wq4u4jOo
VB++になれば幸せになりそう
2011/01/11(火) 23:00:00ID:AnviwO87
http://www.geocities.jp/courant_de_console/main_street/
2011/01/12(水) 12:43:10ID:AEMPKUPY
>>84
それはVBスクリプトの後継ってことなのかねぇ?
86名前は開発中のものです。
垢版 |
2011/01/12(水) 12:59:42ID:RzN4qOz+
QBasicの後継かも?
2011/01/12(水) 13:19:41ID:AEMPKUPY
ちょっと見てみた。
「プログラミング入門」というPDFを見つけたもんでね。
http://msdn.microsoft.com/en-us/beginner/ff423682.aspx

HSPをはじめとする、フリーBASICモロモロに似た感じだな。
プログラムの実行は「F5」キーで行う。

Forの対がEndFor、Whileの対がEndWhileだったりと、
言語仕様は少々異なるが、Goto文を堂々と書くなど、
昔ながらの雰囲気を醸し出してるねぇ。
2011/01/12(水) 21:02:44ID:DqjSFmZZ
位置づけがよくわからんな
VBSの後継なのか、入門用なのか
入門用つーとLOGOってあったな
定着しなかったが
2011/01/18(火) 19:26:17ID:7N+tErCU
>>52
まじめにコンピューターを扱う学科ならアセンブラやCPUアーキテクチャの講義はやるよ
アルゴリズムの講義ではモダンな言語を使うけどね
同時並行で進む感じ
両方ある程度進んだところでプチ言語コンパイラを書くんじゃないかな
関数型言語も学ぶのが普通だからその辺は楽だけど

やっぱりVB(.NET含む)が流行らないのはC系と記法のスタイルが違いすぎるからだと思う。
違和感ありまくりw
今は入門でもJavaあたりになるしね
90名前は開発中のものです。
垢版 |
2011/01/19(水) 10:25:53ID:rBie4ERO
COBOLなんかは、今でも需要があるらしい。銀行のオンラインシステムに
かなり生き残っていて、COBOLプログラマーが足りなくて困っているようだ。

しかし…COBOLってBasicなど比べ物にならないほど、異世界の言語の
ようだね。
2011/01/19(水) 16:44:43ID:QB2PSnu5
コボルねぇ・・・
桁が多い10進数を正しく扱える言語って、
意外と少ないもんねぇ。

CやJavaで、金額を扱う変数にdoubleを使ってるのを見るけど、
恐ろしくて恐ろしくて・・・

VB6にはCurrencyがあったけど、.NETにあったっけ?
2011/01/19(水) 17:07:34ID:QB2PSnu5
んーと、ググレカしてみたら、
どうやらdecimalてのがそうか。
2011/01/20(木) 01:59:44ID:iltet27A
demicalが十進整数だね
相応に遅いけど
2011/01/20(木) 09:45:33ID:5vnoM8Je
decimalって固定小数点だよね?
2011/01/20(木) 12:17:13ID:iltet27A
>>93
寝ぼけていた。そのとおりです
2011/01/20(木) 12:24:03ID:iltet27A
orz >>93じゃなくて>>94
97名前は開発中のものです。
垢版 |
2011/01/21(金) 10:35:34ID:h7FIQXi/
VB6では64bitのint型が無かったので Currency で代用するという裏技
があった。
2011/01/22(土) 18:17:41ID:Q1A+Gov7
可変長配列があれば1桁につき1つのintを割り当てて10を超えたら次の要素に代入するって方法でどうにか実現できるんじゃね
速度? 知るか
2011/01/23(日) 12:42:28ID:q+kP4u3W
まるでアセンブラだなw
2011/01/23(日) 13:18:27ID:DfsSs5P0
なんかCで大数を扱えるようにするライブラリみたいのがどっかにあった気がする。
2011/01/27(木) 17:17:23ID:20bYbKSR
学校にCOBOL専用のホワイトボードあったわ
102名前は開発中のものです。
垢版 |
2011/03/21(月) 09:24:54.27ID:qk5jHrhb
もうゲーム製作的にはVBは終わっとるのか
スレすらないや
2011/03/21(月) 12:13:22.14ID:vLbVRNTs
おはようございます。
2011/03/21(月) 13:57:11.44ID:k7En8tnr
HSPがあれば間に合うし。
105名前は開発中のものです。
垢版 |
2011/09/09(金) 20:13:56.51ID:dQ+P5qA8
vb馬鹿にするやつらは、文法や閉じカッコが明瞭すぎて素人の使うダサい言語と感じるんだろうな。
C言語のような難解でクールな記述ができる言語ほど、プログラマ受けは良い。
2011/09/09(金) 22:00:38.94ID:XiRp+qJ3
C言語はエディタがショボかった時代に
頻繁にある命令を短く効率よく書けた言語でしょ
今はハードの性能が上がってエディタや辞書にいくらでも登録できるようになったから
どれを使っても大差なくなってきてる
2011/09/09(金) 22:22:43.33ID:Awb5KSju
???
ゲーム作るには大差がありすぎるが?
DirectXやOpenGL使うならなおさら

2011/09/09(金) 22:39:55.75ID:JnAupev5
Visual Basic (6.0 以前) はあまりにもゲーム製作には向いて無さすぎる。
やってできなくもないが、他の言語よりも遙かに苦労した挙げ句に遅い。
2011/09/10(土) 18:26:03.89ID:yNfIOyRB
MSDNのDirectXリファレンスでわざわざVB用の記述用意するほど
一時期は優遇されてたんだけどな
まあ企業主体の処理系の末路なんてこんなもん
2011/09/11(日) 00:00:05.67ID:k3KjRlLC
プログラムの入口としては良い言語だと思うんだけどな。
ちょっと凝った事をやろうとするととてつもなくめんどくさくなる。
2011/09/13(火) 10:20:00.07ID:FBoFLFAQ
ベーシックとアセンブラは一般的な言語ベース
C言語はカルト教団の手続きを円滑に進めるギョーカイ用語に近いからね
両方大事だと思う
2011/09/14(水) 06:36:08.62ID:ZPnLMKI0
本物のBASICとVBは違う。
2011/09/15(木) 01:27:43.54ID:+wQDb9uW
>本物のBASIC
ww
kwsk
2011/09/15(木) 17:29:10.60ID:f1oX2xuP
無知もここまでくると罪だな。
ベーシックは国内でも国際的にも規格化されている。
vbはmsがベーシックに文法を似せてgui用にした独自拡張
つまりベーシックもどき。ただしデファクトスタンダードである。
2011/09/15(木) 18:11:08.36ID:udysMO1M
確か BASIC って、基本という意味の BASIC ではなくて、
何か長ったらしい言葉の頭文字を集めた言葉だよね。
2011/09/16(金) 01:00:42.60ID:GwGdVqMp
「本物のBASIC」って実際に存在するのか?ww
BASICでくくらてはいるが、方言の集まりじゃないのか?ww
2011/09/17(土) 01:46:45.25ID:Ncw3dkbr
大型の計算機上でTSSで動作し、MAT文を備えているのが本物のBASIC
昔のマイコンでROMに載って動いてたものが偽物BASIC
118名前は開発中のものです。
垢版 |
2011/10/01(土) 12:51:59.51ID:w7WE4Ksb
本物のBASICとやらは、インタープリターで動作するのですか?
119名前は開発中のものです。
垢版 |
2011/10/24(月) 19:39:18.24ID:VB5f9hdJ
IDがVB5 キタ━(゚∀゚)━!!!!!
2011/10/26(水) 09:12:49.92ID:0wozqNev
>>119
今は何をお使いなのかと思ったら、

Wolf RPG Editor
DX ライブラリ

という方でした。
2011/10/30(日) 16:11:24.37ID:mR1bDoIt
ちょっと凝ったことやろうとするとAPIのインポートがずらずら並ぶ

C#あたりも一緒だが
2011/10/31(月) 15:09:09.55ID:dz81qw9O
C/C++はメモリー管理がめんどくせぇ
123名前は開発中のものです。
垢版 |
2011/10/31(月) 20:35:23.69ID:MjLCgU69
自分はむしろ ガベージコレクタ がめんどくせぇ
だから昔のVBが好き。
124名前は開発中のものです。
垢版 |
2011/11/13(日) 09:47:31.07ID:56YK8MVv
はっぴぃしゅーたーの作者様

>>19 >>39 再UP可能でしたら、ぜひお願いします。

125名前は開発中のものです。
垢版 |
2011/11/15(火) 21:16:20.63ID:8VEP4EAY
ども はっぴぃしゅーたーの作者です。
VBでゲーム作りたい人、自分以外は絶滅したかと思ったよ。

たぶん、VB6は使っていないだろうから、>>39の方をUPしました。
しばらく放置してたから自分で知らん内にコードを書き換えてしまったかも
しれませんので上手くいかなかったらごめんなさい。

ttp://homepage1.nifty.com/shifu2/DL/STG_Sample.zip

私、個人の活動状況は、VB2010でマルチスレッド用のエンジンを作成し、マルチコア環境では
そこそこの性能が出ることがわかった後、シミュレーションゲームの作成にかかったのですが、
思いのほか、自分の絵が下手であることを悟り、これをお蔵入りにしました。
(音楽は全部完成しているので、いつか製作を再開したいと思っている。)

その後、、今度はアセンブラで別のエンジンを開発。これはVBから呼び出し可能なDLLで、
現在は、ツールをVB6に戻して、お試し用に、上記とは別の簡単なシミュレーションゲームを製作中です。

さすがにVBでアセンブラの開発はできないので、ここはVC++の力を借りてます。
SSE2が機能するエンジンを使えばVBでも、今まで以上のパフォーマンスが出せる…ハズ

ちなみに、VC6ではSSE2までの開発しかできない。VC2010ならそれ以上の拡張命令も使えるが、
Windows2000のユーザーを見捨てる事になるので、今回はSSE2までにしました。
126124
垢版 |
2011/11/17(木) 06:03:04.81ID:cDMQkA4K
>>125 ありがとうございます。いただきました。

使っているのはまさかのVB6.0です。(笑)
ゲームを作り続けていたわけではなく、数年ぶりの出戻りです。
自己流で作っていたのでグラフィックの移動等で挫折していました。

再度VBで挑戦するか、VC#をいちから勉強しなおすかという状況です。
自分としては慣れ親しんだVBで作りたいのが本音なので、「ここまで出来る」という目標にさせていただきたいです。

2011/11/17(木) 09:07:33.11ID:9rUQQGpG
VB6 VBA これだけで5年はやってきたがそろそろ他の言語をやろうと思う
なるべく汎用性のあるのがいい
何が良いでしょうか?
128名前は開発中のものです。
垢版 |
2011/11/17(木) 14:26:23.23ID:O8xvwYN+
技術面でのスキルアップを目指すなら、VC++2010。
難し過ぎるようなら、Java。
将来、VC++へのステップアップが必要なら、VC#2010。
ちょっとカッコつけたいなら、Ruby。
2011/11/17(木) 22:18:24.68ID:N1aBX/cw
VC++2010ってC++のこと?
そこら辺よくわからないんだよな
2011/11/17(木) 22:21:22.78ID:3dgfYvUL
C++にMicrosoftのライブラリやエディタで重武装したのがVC++。
2011/11/18(金) 14:59:32.49ID:zuUI93Rz
よしVC++やってみます
132名前は開発中のものです。
垢版 |
2011/11/18(金) 16:41:51.36ID:ZDgA2khg
>>131
VC++は難しいからね。気合入れてかかった方がいいよ。
経験者はムズいのわかってるから、くじけても責めないよ。がんばって!!
2011/11/21(月) 03:00:47.72ID:4deP4Lis
VC++が面倒なら、Delphiがオススメ。同等のことが出来て
速度も実数計算を多用しなければほとんど同等
そもそも今の性能なら、3Dの剛体100個の物理計算とかをやらない限りはボトルネックにならないし

言語仕様がC++よりすっきりしててオススメ
でも、まともにDelphiが書けるレベルならC++もC#もRubyもぐぐりながら書ける
134名前は開発中のものです。
垢版 |
2012/05/11(金) 22:11:17.62ID:kieoG+OA
CompJapan事件
http://ja.wikipedia.org/wiki/CompJapan
135名前は開発中のものです。
垢版 |
2012/05/11(金) 22:13:04.63ID:kieoG+OA
高卒なのにIDが慶応!しかもOA!
2013/01/14(月) 11:26:17.44ID:/QHVluNg
そういやVisual J# って言語はどうなったの?
137名前は開発中のものです。
垢版 |
2013/01/25(金) 23:08:54.93ID:qyysk8iw
J#は無かった事にされてるな
あと、VBは.netになってから色々と機能が拡張されて
重ささえ気にしなければC#と同等の事が出来るようになった
2013/01/25(金) 23:27:51.17ID:qyysk8iw
っつ〜か、仕事でVB6を使ったんだがVB2010のほうが簡単だった
タダで使えるから未だにVB6を使ってるなら乗り換えたほうが賢明かと
139名前は開発中のものです。
垢版 |
2013/01/29(火) 13:09:02.23ID:fF0fMRN2
>>138
VB2010はvatptr関数とかないのよ。
APIがポインタを要求してきたときに、VB6のありがたみが嫌というほどわかる。
140名前は開発中のものです。
垢版 |
2013/01/29(火) 13:20:39.02ID:fF0fMRN2
おっとスペル間違えた。
VarPtr関数です。VB2010だとガベージコレクタがらみで、ややこしい処理
になるのよ。
141名前は開発中のものです。
垢版 |
2013/01/29(火) 13:53:27.75ID:fF0fMRN2
ちなみに文字列のポインタをAPIに渡そうと思うとVB2010の場合こんなふうになったまった。

  Dim Str As String = "AAAA"
Dim L As Integer
Dim C() As Char
Dim B() As Byte
Dim G As GCHandle
Dim Ptr As IntPtr

C = Str.ToCharArray()
B = System.Text.Encoding.GetEncoding("Shift_JIS").GetBytes(C)
L = UBound(B) + 1 'サイズを指定する必要がある場合に使う
G = GCHandle.Alloc(B, GCHandleType.Pinned)
Ptr = G.AddrOfPinnedObject().ToInt32()
142名前は開発中のものです。
垢版 |
2013/01/29(火) 14:05:52.11ID:fF0fMRN2
ポインタ使い終わったら G.Free でガベージコレクタを開放します。
面倒だわVB2010。
2013/01/29(火) 21:31:41.37ID:z3bnl1cO
C#とVBの速度は基本的に同じ。(C#でポインタ使ってる部位を除く)
初心者にVBのどの辺が優しいのだのかが疑問だ。

VB
Dim i As Integer = 0;

C#, Java, C++
int i = 0;
2013/01/30(水) 07:43:13.65ID:TcumX8ss
VBは後ろに;を付けなくて良い点とインテリセンスが強力な点が初心者向けなんだよ。
まあ、複数行に渡る命令を書く場合や、メモリー使ったりする場合には面倒だが。
2013/01/30(水) 07:55:35.07ID:TcumX8ss
まあ、VBでメモリー使う場合は配列使うけどな
動的メモリーはVBでは使わん
あと、VBはExcelとかと連係する場合に楽だな
146名前は開発中のものです。
垢版 |
2013/01/30(水) 13:13:47.38ID:ES7+KnHm
思うんだが、VBやVC#のガベージコレクタって、そんなにパフォーマンスに
影響するもんなの?

メインメモリを効率良く再配置してくれるといっても、コード組む側からしたら、
ポインタを使うとき、データを勝手に移動されないように、いちいちロックしないと
いけないので、面倒極まりないんですけど。

もしかしたら、メモリの開放忘れてメモリリークさせるバグが多かったので、
それを防止する為につけたのかもしれないけど…。

Vistaのせいかな?あのころ、メモリ不足でパフォーマンスが落ちるPCが多かったからな。
でも .net って Vista より先じゃなかったっけ?
2013/01/30(水) 15:29:37.03ID:cZuhgiqX
何言ってんだこいつ。日本語が不自由な上に統合失調症の傾向がある。
ロックするとか意味不明だし、プログラム向いてないから病院いっとけ。
148名前は開発中のものです。
垢版 |
2013/01/30(水) 21:44:46.30ID:ES7+KnHm
>>147
>>141の下から2行目が、ガベージコレクタをロックしているコードなんだけど、
意味不明なのかい?

君にヒトを素人扱いできる程に技量があるとは、とても思えんが…。
149名前は開発中のものです。
垢版 |
2013/01/30(水) 22:19:16.82ID:ES7+KnHm
ロックについては、このページを見ておくといいだろ
http://dobon.net/vb/dotnet/vb6/objptr.html
ヒトを病人扱いする前に用語のひとつもググってみれば?
2013/01/30(水) 23:34:20.46ID:cZuhgiqX
C#とかVBでわざわざポインタを使うのはdllとの繋ぎ目くらいだろ。
(JavaのJNIも同様)

繋ぎ目を隔離したラッパークラスを通さずに直接ネイティブを呼べば面倒なのは当たり前。
いたるところでガベージコレクションをロックするかのようなことを書いて、
GCが邪魔だと呟いているのは実に意味不明だ。
151名前は開発中のものです。
垢版 |
2013/01/31(木) 08:48:10.87ID:wVU/jdLo
cZuhgiqX
どうやらロックの意味は理解できたようだな。ひとつ勉強になっただろ。

では逆に問う。君はGCの利点として何か実感できるものがあるのか?

GCのある言語とそうでない言語で同じ動作をするプログラムを組んだとして、
あきらかにGCの優位性を感じる場面に遭遇できるのはどのようなケースだ?

ちなみに自分はVB5からのユーザーだが、APIは当たり前のように使っている。
2013/01/31(木) 12:02:16.21ID:NyoQQhH7
直接ネイティブを呼びまくること自体が低脳のすることだといってるのに
ロックの意味もわかってないからあちこちでロックしまくってるわけだろ。
普通の人はそんなことしないので、ロックするといわれてもわかりません。

DLL、SQLとかVBの外にあるものは隔離して
VBのみで完結しているように設計を作るのは基本。

>APIは当たり前のように使っている。
Win32のことか?DirectXラッパぐらい作ってから言えよw

>GCの利点として何か実感できるもの
スマートポインタ(参照カウンタ)を使うようなケース。
153名前は開発中のものです。
垢版 |
2013/01/31(木) 12:36:26.25ID:wVU/jdLo
DirectXライブラリならDX7ベースのものを作った。ところで、その口ぶりなら当然
自分もそのぐらいは作ったんだろうな。CPUで演算したデータをバック・スクリーン
サーフェスに転送する場合、ロックもかけず、APIも使わず、どーやーって
転送しているんだ?おしえてくれよ。

スマートポインタ使うと、アプリの速度が上がるとでも言いたいのか?
俺が聞いたのはコーディングの話じゃない。実行上の有利性だ。
2013/01/31(木) 15:29:50.68ID:NyoQQhH7
>いちいちロックしないと いけないので、面倒極まりないんですけど。
>俺が聞いたのはコーディングの話じゃない。アプリの速度だ。
生産性の話をしていたのに、突然実行速度の話に変わったな。
GCは主に生産性の向上を目的として導入されているのに、おかしな話だ。

まあGCが得意なパターンにマッチすれば速くもなる。
C++でRAIIだと重いdelete()が集中しがちだが、
GCだと実際に解放するのを後回しにして、
負荷が軽い頃合に並列GCが少しずつ解放してくれたりする。
2013/01/31(木) 15:34:54.20ID:NyoQQhH7
>DirectXライブラリならDX7ベースのものを作った。
ならライブラリを使っている限り、アプリケーション層ではAPI(dll)を呼ぶ必要はなく、
従ってロックなどしないはずだ。そうでなければライブラリに存在意義がない。
ライブラリを作ったような妄想に浸っていただけだったというオチだな。
156名前は開発中のものです。
垢版 |
2013/01/31(木) 16:10:41.97ID:wVU/jdLo
馬鹿だなあ、ライブラリ自体をVBで作ったんだ。

バックサーフェスのLockメソッドを実行して、引数の構造体からポインタを
取得し、APIの movememory を使って転送する。

ちなみにDX9のフレームバッファに直接書き込む場合は、メソッドがあるので
APIは使わないようだが、ロックはしなければならない。

おまえさんのライブラリではどーやってんのかなあ?答えてないぞ。

なにしろ>>152で「DirectXラッパぐらい」って言ってんだから、「ぐらい」なんだろ。
簡単にできそうじゃねーか?当然作ってあるんだろ

強がっても本当はDirectXライブラリなんて作った事ないんだろ。まあ昨日までロックを
知らなかったんだから無理も無い。

そのくせ態度だけはでかいんだよな。ヒトを低脳よばわりとかして…


GCが効果を出すのはごく限られた状況だけ、ほとんどは余計なプロセスが動くだけで
STGなんかを作る人からは嫌われている。

GCがメモリをいじくりまわしても、無造作にメモリ使いまくるコード組んでりゃいつかは
足りなくなってスワップするし、ようはスワップがちょっと遅れて来るぐらいの効果しか期待できない。

とりあえず自分で「ぐらい」と言った「DXライブラリ」作ってみそ。そしたら少しは認めてやるわ。
2013/01/31(木) 17:50:35.50ID:NyoQQhH7
俺はお前の先生じゃないからな。
初心者に1から10まで教えたりはしない。

あと話がコロコロかわるわ、分散するわ、人の書いたことが理解できないわ、
そんなお前と話をしても漠然と広がるばかりで一向に収束しない。
理由は単純、ID:wVU/jdLoがなりふり構わず言い返したいだけだからだ。
何がしたいの?そんなにくやしかった?
158名前は開発中のものです。
垢版 |
2013/01/31(木) 18:37:22.22ID:wVU/jdLo
「DXライブラリなら作ってある!!」と言い返せないんだな。

そして「ロックを使わずにピクセルデータをバックサーフェスに転送できる!!」とも言えないんだな

くやしいのう。くやしいのう。


>俺はお前の先生じゃないからな。
>初心者に1から10まで教えたりはしない。

じゃあひとつだけでいいよ。
ロックを使わずにピクセルデータをCPUからバックサーフェスに転送できる方法
とやらを教えてくれ。

コードを表示してこっちで試して正しく動作したらオマエの勝ちでいい。
できなければオマエの負け。

オレはロック使わないと絶対にできないと思ってる初心者だから、先生よろしくたのむよ

…しかしコイツ本当に一度でもDirectXのコード組んだことあんのかよ?
APIも使ったことないんじゃねーの?

どっちが初心者だよまったく…バカじゃねーの?
2013/01/31(木) 19:51:45.92ID:NyoQQhH7
何言ってんだこいつ。日本語が不自由な上に統合失調症の傾向がある。
ロックするとか意味不明だし、プログラム向いてないから病院いっとけ。
160名前は開発中のものです。
垢版 |
2013/01/31(木) 19:55:05.86ID:PSRqcy7K
VB使いって・・・
2013/01/31(木) 20:05:52.91ID:NyoQQhH7
>ライブラリ自体をVBで作ったんだ。
こんな事書いてる辞典でお前がライブラリなんか作れないことは自明のこと。
一個一個ロックしてコールバック呼ぶ間抜けな姿が目に浮かぶわw

DirectXで頂点バッファとかVRAM転送に関するロックと
マネージコード(VB, C#, Java)のGCに関するロックは全く違う話だってのもわからないだろ?
初心者が強がったところでまたひとつ恥をかいてるよ。バカじゃねーの?
2013/01/31(木) 20:14:38.35ID:NyoQQhH7
>オマエの勝ちでいい。
そうだな。俺の完全勝利ってこと。
普通にロックなんて誰もしないものw

おかしな知ったかぶりでGCを批判するぐらいなら
全部C++で書けばいんじゃないの? 
ロックせずにコールバック呼べるよ〜?w
2013/01/31(木) 20:24:02.19ID:NyoQQhH7
そう、ID:wVU/jdLoは完全に負けたんだよ。
俺のC#ライブラリを使う限り、誰もGCロックなんてしないし、
SlimDXやMDX、XNAなど普通のライブラリやフレームワークはみ〜んなそう。
ついで抽象度を高めればDirectXのロックもライブラリ層で消せますな。

低脳ライブラリではコールバックの名前が変わっただけで隠蔽性も何もなく、
ロックしてまわるそうです。一体何のためのライブラリなのか謎ですな(苦笑)
164名前は開発中のものです。
垢版 |
2013/01/31(木) 20:31:31.28ID:wVU/jdLo
オマエ…DirectX7を知らないのか…絶句…アホ。
2013/01/31(木) 20:35:28.34ID:NyoQQhH7
ネイティブコードに関する規模の大きいライブラリを作るなら、
dll(C)側とコネクタとなるマネージコード側の両方を書くのは必須。
これ知識というより普通は気付く。

低脳にも理解できたかな? ひとつ勉強になっただろ。
先生にありがとうございましたって、しっかり頭下げとけよw
2013/01/31(木) 20:38:03.52ID:NyoQQhH7
こっちはDX9のDirect3Dを前提に話をしているが、
DirectDrawでも話の芯は全く同じだ。
167名前は開発中のものです。
垢版 |
2013/01/31(木) 20:42:24.50ID:wVU/jdLo
じゃあオフスクリーンサーフェスにピクセル配列を転送するコード
を書いてみろ。
168名前は開発中のものです。
垢版 |
2013/01/31(木) 20:45:12.55ID:wVU/jdLo
>>156でも書いたが、取得できるのはポインタだぞ。その後どうするつもりだ?
2013/01/31(木) 20:57:12.63ID:NyoQQhH7
ハハハ、まだそんなこといってるのか。
DirectXなんて時間かかって面倒くさいだけで、
可能・不可能を論じれば誰でもできる簡単なことだからな。

完全勝利
170名前は開発中のものです。
垢版 |
2013/01/31(木) 21:05:54.09ID:wVU/jdLo
アホすぎる…もういいよオマエは。
2013/01/31(木) 21:35:46.32ID:NyoQQhH7
>オフスクリーンサーフェスにピクセル配列を転送するコード
言い回しが古すぎるね。
Direct3D9ではIDirectSurfaceを直接操作せず、IDirect3DTexture経由で事足りる。
以下、テクスチャを1ドット毎白く塗りつぶす例。

D3DLOCKED_RECT lockRect;
pTexture->LockRect(0, &lockRect, NULL, D3DLOCK_DISCARD);

for(int y=0; y<h; y++)
{
for(int x=0; x<w; x++){
DWORD color = 0x00ffffff;
BYTE* p = (BYTE*)lockRect.pBits + lockRect.Pitch*y + 4*x
memcpy(p, &color, sizeof(DWORD));
}
}

pTexture->UnlockRect(0);
2013/01/31(木) 21:38:38.53ID:NyoQQhH7
ライブラリを作るなら、例えば次のようにラップされ、
ライブラリユーザーは"ロックなど不可視"なはずだ。

virtual void FillTexture(int rgbColor) = 0;
2013/01/31(木) 21:42:04.76ID:NyoQQhH7
あっちゃ〜、こりゃまた完全勝利してもうたわぁ〜。

低脳にも理解できたかな? ひとつ勉強になっただろ。
先生にありがとうございましたって、しっかり頭下げとけよw
2013/01/31(木) 21:56:06.17ID:NyoQQhH7
ID:wVU/jdLoが顔真っ赤にして唇を噛み締め、悔し涙を流すのも無理はない。
175名前は開発中のものです。
垢版 |
2013/01/31(木) 22:00:58.85ID:wVU/jdLo
ではこちらはデータ転送部分だけだが、オレの書いたコードをあげよう

void __stdcall s2sp15MoveMemory32SSE2( long ptrSrcZeroDTSC, long ptrDstZeroDTSC, long SrcWidth, long LinePlusByte,long StartTop, long WorkHeight )
// 同サイズでの32ビットカラーデータ転送。サイズは送り側 SrcWidth を、8の倍数にすること。
{
__asm
{
mov ebx,LinePlusByte
mov esi,ptrSrcZeroDTSC
mov edi,ptrDstZeroDTSC
mov eax,SrcWidth
movd mm0,eax
shl eax,2 // 32ビットなので4倍
mov ecx,StartTop
mul ecx
add esi,eax // ソース開始アドレス
movd eax,mm0
shl eax,2 // 32ビットなので4倍
add eax,ebx // LinePlusByte
mul ecx
add edi,eax // デスティネーション開始アドレス
movd eax,mm0
shr eax,2 // 4点ずつ処理する
movd mm6,eax
mov eax,WorkHeight
add eax,ecx
movd mm5,eax // エンドライン
mov eax,ebx
or eax,edi
test eax,0xf
jnz LL201 // アライメントNG
176名前は開発中のものです。
垢版 |
2013/01/31(木) 22:01:39.38ID:wVU/jdLo
LL101: // アライメントOK
movd eax,mm5
cmp eax, ecx
je LL99
movd mm7,ecx
movd ecx,mm6
LL102:
dec ecx
js LL120
movdqa xmm0,[esi]
movntdq [edi],xmm0
add esi,16
add edi,16
jmp LL102
LL120:
add edi,ebx // ダイレクトXでのライン加算
movd ecx,mm7
inc ecx
jmp LL101
177名前は開発中のものです。
垢版 |
2013/01/31(木) 22:02:19.43ID:wVU/jdLo
LL201: // アライメントNG
movd eax,mm5
cmp eax, ecx
je LL99
movd mm7,ecx
movd ecx,mm6
LL202:
dec ecx
js LL220
movdqa xmm0,[esi]
movdqu [edi],xmm0
add esi,16
add edi,16
jmp LL202
LL220:
add edi,ebx // ダイレクトXでのライン加算
movd ecx,mm7
inc ecx
jmp LL201
LL99:
emms
}
return;
}
178名前は開発中のものです。
垢版 |
2013/01/31(木) 22:05:22.35ID:wVU/jdLo
movntdqは、ライト時にCPUキャッシュへの書き込みをキャンセルする命令だ。
書き込みを高速化できる。
179名前は開発中のものです。
垢版 |
2013/01/31(木) 22:07:42.35ID:wVU/jdLo
まあVBじゃないが、そっちもC#のコードだしな。
2013/01/31(木) 22:30:32.61ID:NyoQQhH7
誰も聞いてないし、何の目的があってそんな糞を貼ったんだ?
ところ構わず糞を垂れるのは痴呆なのだろう。病院逝っとけ。
2013/01/31(木) 22:36:28.35ID:QubZj7j9
スレタイの答えを具現化したようなやりとりだな。
2013/01/31(木) 22:42:47.61ID:NyoQQhH7
>書き込みを高速化できる。(ドヤ
やはり病人のようだな。相手し切れん。
2013/01/31(木) 22:50:09.71ID:k0j/GaYd
貼っとくか

アスペの特徴
@勝ち負けに異常にこだわる (常に生と死や○か×かの極端な二択)
A性的なことで相手を罵倒するのが好き (性への異常な執着)
B相手を知的障害者や奇形児と罵倒する (生理的に苦痛などの一般的な感情の欠落)
C揚げ足 (自分では分析・考察ができないため周囲の言葉を借り「それはお前」とオウム返し)
D個人情報や姿・容姿への一方的な思い込み (「相手は○○であるから△△である」という決め付け)
E自分は常に被害者である (周囲が自分の意見を分かってくれないのは周囲が悪いという自己中心的な考え)
F粘着質 (少しでも気に入らない相手には徹底的な誹謗中傷を行う)
G感情的になると幼稚な言葉や短文での罵倒 (うんち、お漏らし、死ね、臭い等の言葉の連投)

http://logsoku.com/thread/hayabusa.2ch.net/livejupiter/1280374335/
2013/01/31(木) 23:11:45.67ID:de6zIt5h
使いたい言語使えよ
2013/01/31(木) 23:37:58.05ID:wc/pmLvR
wVU/jdLoが問題にしてるのは、VB側で確保したヒープを、DLLなりに渡す方法じゃないのか?
>>171のコメントってずれてないか?
>>161のコメントって脱線してないか?
>>157で言ってる話をころころ変えてるのって、どっちの方だ?!
2013/02/01(金) 01:04:06.57ID:5kKv/peJ
>wVU/jdLoが問題にしてるのは、VB側で確保したヒープを、DLLなりに渡す方法じゃないのか?
そうだよ。俺はDLLにヒープを渡す際に行うGCのロックについて回答した。

しかし回答に対してwVU/jdLo(>>153)が突然、
DirectXでサーフェスのVRAMをロックする仕方を教えてくれと言い出した。
以後、彼はGCとDirectX、2つの話を同じ話とした誤った前提をもとに得意面で執拗に追及しはじめる。

またwVU/jdLo(>>153)はGCのロックが面倒だという当初の題目(>>146)を覆し、
「俺が聞いたのはコーディングの話じゃない。実行上の有利性だ。(実行速度) 」
などと捏造する。

その後も謎の要求を繰り返す。
「オフスクリーンサーフェスにピクセル配列を転送するコードを書いてみろ。」
「コードを書いたらオマエの勝ちでいい。 できなければオマエの負け。」

しかたがないので、wVU/jdLoが繰り返し要求していたコードを書いた(>>171)。
何か意味や目的があるのかしらないが満足したらしく、
ID:wVU/jdLoは意味もなく >>175->>178 を張ったということだ。
2013/02/01(金) 01:08:42.51ID:5kKv/peJ
読解力のないお馬鹿さん友達なのはよくわかった。

だが俺のせいにされても困るな。頭のおかしい人が1人で暴れてて、
こっちは二転三転する話に付き合ってやっただけだから。
2013/02/01(金) 20:46:24.53ID:WGADr03p
頭の中の藁人形に勝利宣言するのって気持ちいいのか?www
2013/02/02(土) 01:35:13.67ID:I6aYuYDa
久方ぶりに来てみたら、なにやら人が沢山いるな。VBそっちのけでw
まあ、.netのガベコレに苦労してる人が多いのは分かった。
メモリー管理は初心者には相変わらずの鬼門だな。
でもさ、.netではAPIのかわりになるような命令がいっぱいあるから、
API呼び出す必要はほとんど無いような・・・

>>146
>Vistaのせいかな?あのころ、メモリ不足でパフォーマンスが落ちるPCが多かったからな。
>でも .net って Vista より先じゃなかったっけ?

メモリーの断片化はもっと昔から問題になってたわけだが?
とにかく動的メモリーを使いまくると正体不明でアプリが落ちるわ、
落ちた後でもOSが不安定になるわで動的メモリー管理は敷居が高かった。
まあ、断片化しないようにメモリーを使えば問題ないわけだが。
2013/02/02(土) 02:00:41.65ID:I6aYuYDa
そうそう昔は、動的メモリーを多用してるアプリケーションを平行して
何個も動かしていた場合にも、メモリーの断片化が発生していたな。
メモリーの虫食い現象と呼んだ方が分かりやすいかな?まあ詳しい話は
フラグメンテーションでぐぐれ。こればっかしは、ガベコレを使わない限り、
メモリーを増やした所でアプリが落ちるのを延期するぐらいの意味しか無い。
2013/02/02(土) 02:22:28.17ID:I6aYuYDa
あと、初心者だとメモリー管理に関してはスワップファイルが
何とかしてくれると勘違いしているようだが、スワップファイルを
ページングで何とかなる容量は32bitだと2Gバイトまでなんだよな。
64bitOSの場合だとHDDの許す限り何とかしてくれるんだろうけど。
2013/02/02(土) 03:03:59.67ID:I6aYuYDa
64bitでも128Gまでだった・・・
http://technet.microsoft.com/ja-jp/windows/mark_03.aspx
2013/02/02(土) 14:07:00.59ID:w8UuMgVB
動的メモリの確保と解放は難しいのではなくミスを招く。
数をこなしてる上級者でも忘れたり、ちょっとしたポカをする。
だから上級者でもガベージコレクションはかなりありがたい。

.netやjvmのメモリコンパクションはあまり期待できない。
あとメモリリークではなく断片化でアプリ落ちるか?

>>191は仮想メモリのアドレスサイズの話だろうか。
2013/02/02(土) 14:22:21.99ID:PtZOYkce
断片化が最終段階に達すると、空領域があるのにもかかわらず、突然メモリーの取得や再取得に失敗するようになるんだよ。
あとはメモリー破壊へとまっしぐら。もしくは例外終了かな?
2013/02/02(土) 19:19:09.69ID:I6aYuYDa
>.netやjvmのメモリコンパクションはあまり期待できない。

これは初めて知った。んー、VBはメインで使う言語じゃないから気にしないでおくか。

>>191は仮想メモリのアドレスサイズの話だろうか。

そうだよ。
196名前は開発中のものです。
垢版 |
2017/02/03(金) 02:11:51.37ID:WWGfnxzw
age
197名前は開発中のものです。
垢版 |
2017/12/31(日) 20:44:42.67ID:/rN76OKL
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

UD63T2V610
2018/10/06(土) 00:55:21.15ID:TBUE3ojn
VB今からやるの止めた方がいいですか?
2023/01/22(日) 09:41:31.48ID:w5i/1OO5
ただ今制限って何?
2023/08/28(月) 21:44:48.14ID:Agfk3gnt
それって本当にできるの?
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況