[過去ログ]
Delphiゲームプログラミング相談室 (976レス)
Delphiゲームプログラミング相談室 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
917: 名前は開発中のものです。 [sage] 2006/05/29(月) 11:43:34 ID:NefmNljv >>915 マァの人だからでしょ http://echo.5ch.net/test/read.cgi/gamedev/1006249204/917
918: 名前は開発中のものです。 [sage] 2006/05/29(月) 12:48:03 ID:t6UaTX2i 「マァの人」で検索したらわかった。コテハンだったんだな。妙な文字なんつってスマン。 >917もわざわざスマンな。 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/918
919: 名前は開発中のものです。 [] 2006/05/30(火) 12:53:26 ID:JUitY34u ポインタ操作ってどうやるの? p,v: Pointer; vにpからある一定の大きさだけ後ろのアドレスを指定したい v := p; Inc(PBYTE(v),ある一定の大きさ); これをやるとpのアドレスまで変わってしまう? http://echo.5ch.net/test/read.cgi/gamedev/1006249204/919
920: 名前は開発中のものです。 [sage] 2006/05/30(火) 13:26:58 ID:+X21N2Yf v = pointer(integer(p)+100); スマートじゃないなあ・・・ http://echo.5ch.net/test/read.cgi/gamedev/1006249204/920
921: 名前は開発中のものです。 [sage] 2006/05/30(火) 14:11:20 ID:ss191I5G >これをやるとpのアドレスまで変わってしまう? 変わらない。 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/921
922: 名前は開発中のものです。 [] 2006/05/30(火) 14:21:37 ID:G3qDWiPC >>919ので間違いではない v:=pやっても別にpのアドレスはかわらん だが、Pascalでは、 v := @( PByteArray(p)[ n ] ); ってな書き方をする方が多いと思う。 そういうわけで、Pointer型なんかよりは、PByteArrayを多用すると楽ちん http://echo.5ch.net/test/read.cgi/gamedev/1006249204/922
923: 名前は開発中のものです。 [] 2006/05/30(火) 18:29:57 ID:2UT4+Oju 俺もほとんど生ポインタ使わんな >>922みたいに、バイト配列にキャストしてIndexでアクセスする http://echo.5ch.net/test/read.cgi/gamedev/1006249204/923
924: 名前は開発中のものです。 [] 2006/05/30(火) 18:40:41 ID:Dsd2Lvyv >>922 PByteArrayなんてあったんだー これは便利だ!! http://echo.5ch.net/test/read.cgi/gamedev/1006249204/924
925: 名前は開発中のものです。 [] 2006/05/30(火) 20:38:51 ID:G3qDWiPC >>924 sysutilsにて定義されている 自分で定義するなら、 type PByteArray=^TByteArray ; TByteArray=array[0..1023] of byte ; ってなとこ http://echo.5ch.net/test/read.cgi/gamedev/1006249204/925
926: 名前は開発中のものです。 [sage] 2006/05/31(水) 02:31:11 ID:jPRHLqEG DirectXの頂点バッファってロックしてポインタで取得するでしょ あれを取得するときに使えるワザだなと PByteArrayで取得して40バイトずつずらしてユーザー定義の構造体に キャストする http://echo.5ch.net/test/read.cgi/gamedev/1006249204/926
927: 名前は開発中のものです。 [] 2006/05/31(水) 13:57:33 ID:Ka6gjiAS それだったら、最初からユーザー定義の構造体の配列とそのポインタ作った方がよくね? http://echo.5ch.net/test/read.cgi/gamedev/1006249204/927
928: 名前は開発中のものです。 [sage] 2006/06/01(木) 20:19:20 ID:jyfWqyoY このスレ最近知って読んでるんだが。 スクリプトエンジン作ってる言う人が結構いたけど Delphiでパーサージェネレーターってあるの? http://echo.5ch.net/test/read.cgi/gamedev/1006249204/928
929: 名前は開発中のものです。 [sage] 2006/06/01(木) 21:03:05 ID:ulKxJS9r >>928 yacc/lex Delphi でぐぐる http://echo.5ch.net/test/read.cgi/gamedev/1006249204/929
930: 名前は開発中のものです。 [] 2006/06/02(金) 01:05:48 ID:Dy3JqRf/ 俺は再帰下降構文解析でやってるが、デバッグしねる。 コンパイラコンパイラ使ったほうがいいよ・・・ http://echo.5ch.net/test/read.cgi/gamedev/1006249204/930
931: 名前は開発中のものです。 [sage] 2006/06/02(金) 01:49:38 ID:CLlntjIq v := @( PByteArray(p)[ n ] ); だと要素のアドレスだから嫌い。 V := Pointer(Integer(P) + 40); だな。 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/931
932: 名前は開発中のものです。 [] 2006/06/02(金) 02:12:19 ID:aIT54UI1 >>931 おれはポインタを整数型にする方が気持ち悪いが、 まあ、人それぞれだろ。 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/932
933: 名前は開発中のものです。 [sage] 2006/06/02(金) 03:30:28 ID:40xc9cjN マイナスにならないならIntegerよりByteかWordを使うべきだよね forのループカウンタとかも、Integerにすべきじゃないよね http://echo.5ch.net/test/read.cgi/gamedev/1006249204/933
934: 名前は開発中のものです。 [] 2006/06/02(金) 04:14:32 ID:aIT54UI1 >>933 そんな餌に釣られるクマー(AA略 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/934
935: 名前は開発中のものです。 [sage] 2006/06/02(金) 04:17:20 ID:CLlntjIq そう言えば、Integer型とポインタ型に互換性が無くなると問題になりますね。 でもコンパイラエラーが出るのかな。 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/935
936: 名前は開発中のものです。 [sage] 2006/06/02(金) 04:28:53 ID:CLlntjIq いや待てよ、MaxInt + 40 でオーバーフローが出るのか。 データは2G以下のアドレスにあるから偶々出ていないだけで 問題のあるコードかもしれない。 LongWordでキャストするべきなのかな。 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/936
937: 名前は開発中のものです。 [sage] 2006/06/02(金) 19:57:20 ID:40xc9cjN Integerがオーバーフローするとマイナス値になって、しかもエラーを 吐かない、難しいバグになるでしょ なんでもかんでもIntegerを使うのは危険かもしれない http://echo.5ch.net/test/read.cgi/gamedev/1006249204/937
938: 名前は開発中のものです。 [] 2006/06/02(金) 20:08:38 ID:Qv1KmChy >>937 だからByteかWord使えってのかwww? http://echo.5ch.net/test/read.cgi/gamedev/1006249204/938
939: 名前は開発中のものです。 [sage] 2006/06/02(金) 21:53:04 ID:40xc9cjN LongWordでもCardinalでもいいけどさ http://echo.5ch.net/test/read.cgi/gamedev/1006249204/939
940: 名前は開発中のものです。 [sage] 2006/06/02(金) 23:37:56 ID:HfHloQil >>937 {$R+, Q+} ならちゃんとEIntOverflowが出るよ。 {$R-,Q-}だと出ないけど、そもそもマイナス値になってもアドレスとしては正しいのでは? ちなみに配列の大きさはMaxIntまでだから、Byte型配列の場合は 0..MaxInt-1まで有効。 範囲チェックを切った状態でMaxInt以上に アクセスした時どうなるかは知らない。 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/940
941: 名前は開発中のものです。 [] 2006/06/03(土) 01:57:53 ID:8lrmUmFG こんな本見つけた ちと古いが Delphiなら……ゲームが作れる!―アクション/シューティング/RPG/ADV/育成/パズル/SLG……ゲームプログラミングの全エッセンス! http://www.amazon.co.jp/exec/obidos/ASIN/4939049574/250-3860518-9856213 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/941
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 35 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s