【初心者】スレを立てる前にココで質問を【Part21】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2010/04/02(金) 00:21:35ID:zsqivwcwスレッドを立てる前にはローカルルールを読みましょう。
http://pc11.2ch.net/gamedev/
※ >>980 を踏んだ人は次スレ立てをお願いします。
【アップローダ・避難所・Wiki】
ゲーム製作技術板公式Wiki
http://wiki.game-develop.com/
ゲーム製作技術板公式アップローダ
http://gmdev.xrea.jp/
ゲーム製作技術板予備(機能停止中?)
http://yy13.kakiko.com/gamdev/
アップローダー予備
http://gamdev.hp.infoseek.co.jp/
gamdev.orgが落ちるたびにあげてみるスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1107022166/
0069名前は開発中のものです。
2010/04/20(火) 01:39:55ID:IH4/h5eA0070名前は開発中のものです。
2010/04/20(火) 23:08:03ID:lS+0qUy6ttp://www.youtube.com/watch?v=WpfRcXpLrXk&feature=related
シェーディングのチェックのために、上記ビデオに出てくるような吹き抜けのお城(?)の3Dデータが
ほしいのですが、配布もしくは販売しているところをご存知でしたら教えていただきたいです。
よろしくお願いしますm(_ _)m
007170
2010/04/21(水) 19:28:01ID:ddbk9f7a見つけました!
失礼しましたm(_ _)m
0072名前は開発中のものです。
2010/04/22(木) 00:27:44ID:a675FHCqじゃあ作れよと言われても知識\(^o^)/オワタ
0073名前は開発中のものです。
2010/04/23(金) 16:15:59ID:/iVgo9y30074名前は開発中のものです。
2010/04/23(金) 17:44:36ID:mKYVAr1j0075名前は開発中のものです。
2010/04/23(金) 18:05:51ID:3PqSuJIqゲームの内容次第、内容が不明なゲームでは答えようも無い
すごく横に長細いウインドウのゲームをやったことがあったが
内容に合っていたのでまったく困らなかった
640x480でも縦STGとかだと何で最初から縦長の画面で作らんのだろう?
と思うこともある
だから自分のゲームデザインに適してると自分が思う仕様で作りなさい
0076名前は開発中のものです。
2010/04/23(金) 21:30:55ID:GvbKseDLアニメーションや配置座標情報を設定するのにみなさんはどんなツールを使っていますか?
もしくはハードコーディングだったり、自作ツールを作っていたりするんでしょうか?
0077名前は開発中のものです。
2010/04/24(土) 01:44:45ID:HU8kE9y3縦長の画面でなくとも画面の使い方で縦長に出来るし
0078名前は開発中のものです。
2010/04/24(土) 07:55:27ID:drnPL57DWindowで合わせて貰える方が無難だ、そうなると4:3画面で作られる縦STGは本当に邪魔くさい
0079名前は開発中のものです。
2010/04/24(土) 11:10:37ID:tcsda+Vh0080名前は開発中のものです。
2010/04/24(土) 13:21:24ID:p+ZvCADDワイドディスプレイのPC環境が少なくないんで、仕方なく
アプリ側で何かしら対処することはあるのね
16:10や16:9のLCDの表示容量(ネイティブ解像度)を取得して
それに合わせて画面モード設定して左右に枠(黒or絵柄)を
描いたり。dot-by-dotにも対応するときは上下左右に描くのね
で、ウィンドウモードで遊んでください、で済むならそれが一番ラクね
0081名前は開発中のものです。
2010/04/24(土) 13:47:23ID:d/r4hXs0それを最後に画面全体サイズのバックバッファにアス比固定でStretchRect転送してるよ。
これで画面サイズがどうあれ、正しいアス比で固定される。
0082名前は開発中のものです。
2010/04/24(土) 14:34:30ID:drnPL57Dそういう問題じゃないから
>>80-81
今のPCはながらゲームでもそこらのフリゲなら重くならんくらいの性能があるものが大部分だし
モニタも昔より大きくワイド使ってる奴も多い
だからウィンドウモードで遊んでくださいって言わなくてもだいたいがウィンドウモードだよ
ちゃんと対応してくれるに越したことはないけど、ウィンドウモードで遊びやすく設計されてれば
大きな問題はない、立ち上がるとき勝手にフルスクリーンになるのさえ迷惑だったりする
0084名前は開発中のものです。
2010/04/24(土) 17:13:13ID:drnPL57D640*480の横長画面の両脇に残機やスコアなどのデータ表示スペース設けて
中心に立てSTG
組み込んだような奴はサイズ的に微妙800*600くらいならウインドウでも十分だけど
ちゃんと対応してないとワイド画面でアス比が狂うし、そのままだとちょっと見づらい構成だと
まともに楽しめないからな
0085名前は開発中のものです。
2010/04/24(土) 17:19:02ID:U7wZT1tXウィンドゥモードでは小さすぎるから。
0086名前は開発中のものです。
2010/04/24(土) 17:24:34ID:drnPL57D今時320×240でわざわざ作るなんて、逆に小さいことで何かを狙ってるゲームじゃないか?
それにそんな粗い画像のゲームをフルスクリーンにしても嬉しくないし
さらにフルスクリーン時にワイドモニタでアス比が狂うようなら目も当てられん
0087名前は開発中のものです。
2010/04/24(土) 20:45:57ID:9G78iIee320*240はツクールではよくある気がする。
0088名前は開発中のものです。
2010/04/25(日) 08:45:08ID:R/l487cB0089名前は開発中のものです。
2010/04/25(日) 17:20:38ID:UDXAoPVsモニタの設定で切り替えるのって普通じゃないの?
もしかして 俺がおかしい?
安物にゃ付いてないよ、って意見なら分かるが。
0090名前は開発中のものです。
2010/04/25(日) 19:20:20ID:R/l487cB4:3モニタでフルスクリーン時にアス比が狂うのは自分のせいだが
ゲームの仕様でフルスクリーンにすると4:3のゲームが16:9に歪むのがあるんだよ
あとできるだけフルスクリーンではやりたくないし
今時フルスクリーンでやる奴少ないだろ
0091名前は開発中のものです。
2010/04/25(日) 19:27:19ID:1OfKigkp配列のアドレスを返す関数を作りたいんですがどうすればいいでしょうか。
Collision(&JikiShot,&Enemy){}だと、一発、一匹のときは出来たのですが、これを、複数行うにはどうすればいいのかわかりません。
CharaData JikiShot[256];
CharaData Enemy[512];
Collision(&JikiShot[i],&Enemy[j]){}//このような感じで行いたいのですが。
&JikiShot[i]などを、返値で返す関数の作り方もわかりません。
よろしくお願いします。
0092名前は開発中のものです。
2010/04/25(日) 23:05:21ID:77HGVGITこれに収まる 4:3 または 16:9 で大きいものにしないと、フル HD 対応モニタだとフルスクリーンにするしかなくなるほど小さくなってしまうだろうな。
0093名前は開発中のものです。
2010/04/25(日) 23:21:43ID:9JIqTsJCポインタについてもうちょっと勉強しようぜ
0094名前は開発中のものです。
2010/04/26(月) 00:04:05ID:VSz0FUYx質問の最後に「よろしくお願いします」って付けるのはYahoo知恵袋だけだから
2chで使うと嫌われるから次から注意してね。
0095名前は開発中のものです。
2010/04/26(月) 00:51:26ID:re+thrRAお前何様だよ。
答えられるようになってからそういう事いえよ カス
0096名前は開発中のものです。
2010/04/26(月) 01:05:13ID:LdHY1oAb4:3の解像度で出力すると、自動的に左右にレターボックス表示して
アスペクト比が狂わないようにしてくれるモニタも多いよ。
あと、最近の高解像度モニタだと、インチ数によっては640x480は小さいと感じるかもしれないなあ。
最初から解像度を落とせばいいんだろうけど。
>>94
どこの常識だよw
2chだと、多少くだけた口調で質問してもそんなに問題ないとか、
別所だとネットスラングでの質問はマナー違反だとかはあるかもしれんけど、
2chで丁寧口調がダメということは無いっしょ。
0097名前は開発中のものです。
2010/04/26(月) 06:23:18ID:PBgQ/EBChttp://www.geocities.jp/KY_webid/c/030.html
ポインタの扱いについてはこの辺を見れば分かるかと。
>一発、一匹のときは出来たのですが、これを、複数行うにはどうすればいいのかわかりません。
forループで処理させるのではダメ?
for(int i = 0; i < 256; i++)
{
for(int j = 0; j < 512; j++)
{
Collision(&JikiShot[i], &Enemy[j]);
}
}
0098名前は開発中のものです。
2010/04/26(月) 12:06:54ID:gcCDVLcCそれとも任天d
0099名前は開発中のものです。
2010/04/27(火) 00:48:47ID:y5cH/Uon球を y>=a(定数)でカットした半球的なものと平面の埋まりの検出ですが
if 半球と平面の距離d <= r(球の半径)
{
if d.y(dのy成分) >= a
{
埋まり確定!
}
else
{
平面上の y=a となる直線 L を考えて
if 半球とLの距離 <= r
{
埋まり確定!
}
else
{
埋まってない!
}
}
}
else
{ 埋まってない! }
で問題ないですかね?もしくはもっといい方法教えて
0100名前は開発中のものです。
2010/04/27(火) 11:11:08ID:YQQlekKQここのブロックと自機の衝突部分をC++でやるとしたらどんな感じになるんでしょう?
0101名前は開発中のものです。
2010/04/27(火) 11:25:52ID:KjDVWDVPそのまま日本語で説明されてるじゃない。
0102名前は開発中のものです。
2010/04/27(火) 11:29:05ID:DSxZYWnIロジックそのままで良いんですけど…
もしかしてソースコードをきいてんの?
0103名前は開発中のものです。
2010/04/27(火) 11:41:37ID:rLh640POソースコード見てみたけどほとんどそのまま移植できるよ。
0104名前は開発中のものです。
2010/04/27(火) 11:48:15ID:YQQlekKQこの部分はどうなるんでしょうか?
0105名前は開発中のものです。
2010/04/27(火) 12:32:58ID:7SlZhUcN0106名前は開発中のものです。
2010/04/27(火) 12:33:10ID:tY0CYfCKえっ?
Pointクラスを作ってないとか?
getTileCollisionの方?実装はそのページの下で説明してるやん?
なんかの本のコードまんまコピペしたって。
0107名前は開発中のものです。
2010/04/27(火) 12:39:32ID:rLh640POPoint *tile = map->getTileCollision(this, newX, y);
0108名前は開発中のものです。
2010/04/27(火) 12:47:14ID:YQQlekKQ0109名前は開発中のものです。
2010/04/27(火) 14:24:37ID:tY0CYfCKスルーされてる >>76 が俺も気になるんだが。
俺の場合座標とかハードコーディングなんだけど、みんなどうしてんだろね。
0110名前は開発中のものです。
2010/04/27(火) 14:59:43ID:+9zKjY27その当時、FLASHか何かで作ったメニューを読み込めるようなシステムを開発してたらしい
0111名前は開発中のものです。
2010/04/27(火) 15:44:05ID:rLh640POゲーム会社だと何かしらのUI作成ツールを使ってるところが多いと思う。
でも個人制作だとそこまで手間もお金も掛けられないし、ほとんどがハードコーティングじゃないかな。
そういうフリーのツールがあればいいんだけど・・・
0112名前は開発中のものです。
2010/04/27(火) 16:26:10ID:DSxZYWnI画像をカスタマイズし始めると面倒だけど。
011365
2010/04/30(金) 07:12:03ID:6IWWdbeh操作キャラが当たっている地面を求めたいのですがうまくいきません・・・
for(i=0;i<MAP_H;i++){
for(j=0;j<MAP_W;j++){
if(MapData[(int)(playerY)/MAP_SIZE][(int)(playerX)/MAP_SIZE]==1){
・・・
この判定でプレイヤーの足元が地面なら
playerY=(mapi*MAP_S);
と、当たっている地面上部分の座標をplayerYに入れてやりたいのですが
どこの地面に当たっているか調べるのにいい方法はないでしょうか
0114名前は開発中のものです。
2010/04/30(金) 07:43:35ID:6IWWdbehでした。
0115名前は開発中のものです。
2010/04/30(金) 07:50:45ID:SoO+SnLu>if(MapData[(int)(playerY)/MAP_SIZE][(int)(playerX)/MAP_SIZE]==1){
この条件文がどこの地面に当たっているかを調べてるんじゃないの?
0116名前は開発中のものです。
2010/04/30(金) 08:13:35ID:6IWWdbeh足元が1かどうか(地面かどうか)だけ調べてると思うので
どこの地面なのかは分からない、気がします
0117名前は開発中のものです。
2010/04/30(金) 08:25:20ID:SoO+SnLu>足元が1かどうか(地面かどうか)だけ調べてる
ということは足元がどこの地面か分かっているということでしょ?
つまり「MapData[(int)(playerY)/MAP_SIZE][(int)(playerX)/MAP_SIZE]=当たっている地面」だと思われるけど。
0118名前は開発中のものです。
2010/05/02(日) 13:03:36ID:qwH1pwxCassertにかかったときにエラーウィンドウで
例外参照知らされると思うんだけど,
単にVCデバッガでブレークするだけにできない?
いちいち再試行おすのがめんどい&
間違って中止おしてバグ再現しなきゃいけなくなるのが辛い.
0119名前は開発中のものです。
2010/05/02(日) 14:39:29ID:e37jMZuS0120名前は開発中のものです。
2010/05/02(日) 15:31:30ID:GNNinoD1ステータス画面などを表示したいときも
HPやMPを見るためだけのメソッドを用意した方がいいんですか?
0121名前は開発中のものです。
2010/05/02(日) 15:34:13ID:qwH1pwxC0122名前は開発中のものです。
2010/05/02(日) 15:38:11ID:GNNinoD1参考になるサイトとかありますか?
なさそうならとりあえず勉強と思って全部作ってみますが
0123名前は開発中のものです。
2010/05/02(日) 15:44:47ID:bkckDMgJそういう場合ならメソッド作って、何桁以上ならカンストするとか、表示するときだけその桁数に合わせたらいいんじゃね?
わからなかったらとりあえず作っておけ。後で変えるときに楽だ。
0124名前は開発中のものです。
2010/05/02(日) 15:59:03ID:xnYPH8Btゲッタの中で3分の一にしておけばそれで十分なわけだ。
0125名前は開発中のものです。
2010/05/02(日) 16:23:06ID:Z7PNMhjmやれやれ、文明の地にJava原人が紛れ込んだようだ。
0126名前は開発中のものです。
2010/05/02(日) 16:37:37ID:xnYPH8Bt0127名前は開発中のものです。
2010/05/02(日) 16:50:10ID:J6RVu3x/0128名前は開発中のものです。
2010/05/02(日) 21:08:36ID:Fty9ttWn日記だが、
昔クラスタの講習を受けたときにアクセサメソッドが出てきてJava特有のもんだと思ってたよ
結局その件はぽしゃったんだが、何故か時代遅れのActiveXをVCで作ることになったとき
JavaScript側からのアクセス方法として出てきて懐かしくなった
0129名前は開発中のものです。
2010/05/03(月) 05:52:16ID:0wSce+Dqとりあえず>>120のパターンだとアクセサは用意しておいた方が良さそう。
あとは「カプセル化」でググって下さい。
0130名前は開発中のものです。
2010/05/05(水) 17:38:37ID:ct+h51hJ0131名前は開発中のものです。
2010/05/10(月) 19:00:51ID:gdJFfJNKそれとも派生スレを再利用した方がいいんだろうか。
0132 [―{}@{}@{}-] 名前は開発中のものです。
2010/05/10(月) 21:30:38ID:fxUBI2Koどうせ止めても立てるんだろうから好きにしなよ禿げ
ゲ製板の本スレ
★ゲーム製作期待の星! HSP Part 9 ★
http://pc11.2ch.net/test/read.cgi/gamedev/1005313791/
3Dスレ
【HSP】HSPで3Dゲーム 4 【3D】
http://pc11.2ch.net/test/read.cgi/gamedev/1229142015/
あとム板に質問スレと駄目です犯罪ですスレがあったな
0133名前は開発中のものです。
2010/05/10(月) 23:18:05ID:gdJFfJNKトン。そこが本スレになっているのか。
パート16までは確認してたが、そんなスレがあったのぜんぜん知らんかった。
そっちで聞くようにしてみるよ。
0134名前は開発中のものです。
2010/05/11(火) 17:11:43ID:QbQcF3AV検証用にどの製品が良いのか分からないのでアドバイス下さい。
今までPCゲームほとんどやってなくて、
自分で調べた限りで検討してるのは、BSGP801GY(SFC風)です。
安くて(今作ってるゲーム以外では使わない)そこそこ評判が良さげで、
イベント展示用に持っていく時もかさばらなさそうだという理由。
ちなみに十字キー+通常4ボタン+スタート+セレクトを使用、約60FPS。
スーマリくらいの操作性でそんなシビアではないけど、キーの取りこぼしは避けたいです。
心配してるのは、一般プレイヤーはPS2風のコントローラーの方が好きなのか?
もしPS2風の方が多い場合、自分がBSGP801GYで動作検証しても
他のプレイヤーのコントローラーで使えなかったりするのか?といったことです。
ただし今のとこ、プログラム上ではjoyGetPosEx関数でキー番号1〜12を取得して
自由にコンフィグ入れ替え可能なまでにはしてあって、実機がないからテストはしてない状態です。
0135名前は開発中のものです。
2010/05/11(火) 17:58:42ID:1jprUcQI基本的にそのアクションゲームが
十字キーと十字キーと同じ面に付いているトリガー1〜4のみを使うゲームなら
ほとんどのパッドで問題はないと思う
スタート&セレクトに関してはパッドのよって割り当てが違うので要注意
自分が持っているものでもその部分にハットスイッチがあったり
連射切り替えボタンがあるようなモノもいくつもある
PS形状のLR含め8ボタンのものはスタート&セレクトは9と10に割り当てられている
場合が多くSFC形状のパッドでは7&8に割り当てられている場合が多い
7と8はPS形状だとL2&R2ボタンに割り当てられている場合が一般的
これは間違えてプレイ中に押してしまう人も居るので使用によっては注意が必要
一応PSに似た配置のパッドでも一応の標準的なキーは位置はあっても
モノによってキーは位置が違っていたりする、バッファローみたいな大手でも
同じメーカーで見た目のボタン配置が同じなのにキー割り当てが違う製品があるくらい
キーコンフィグがあればあまり問題はないけれど一応1000円程度で買えるので
ほぼPSと同じ配置のUSBゲームパッドを検証用に1つ買っておくと良いとは思う
実際問題今後もアクションゲームを作っていくなら奮発して2000円前後の
使い勝手のよさそうなPS配置のものを1つ買っておくと良い
0136名前は開発中のものです。
2010/05/11(火) 18:35:12ID:N2QL8OL80137名前は開発中のものです。
2010/05/11(火) 18:45:02ID:1jprUcQIいつの時代の話だか
パラレルポート16M、USB1.1は12M
パラレルに接続が流行ったのはゲームパッドをシリアルポートに接続していた時代のことだろ
それにゲームを操作する信号自体
そこまでの転送容量はいらないぞ
0138名前は開発中のものです。
2010/05/11(火) 18:48:21ID:tiOS8rUG日本じゃプロのPCゲーマーなんていないだろ韓国じゃアメリカじゃあるまいし
0139名前は開発中のものです。
2010/05/11(火) 19:21:32ID:ZMWUPVjp0140名前は開発中のものです。
2010/05/11(火) 19:24:07ID:ibwkSFdUウメ、プロに昇格したの!?
0141名前は開発中のものです。
2010/05/11(火) 19:34:01ID:1jprUcQIそいつはバカみたいにゲームパッドをパラレル接続にしてるのか?
0142名前は開発中のものです。
2010/05/11(火) 20:06:24ID:YWGBRWug気にしすぎ。
キーコンフィグあるなら、気にする必要無かろう。
文句出てから対応で十分。フリーのゲームなんでしょ?
0143名前は開発中のものです。
2010/05/11(火) 21:04:26ID:ZMWUPVjp自分でいっているだけみたいだが
詳しくは分からないからググってくれ
0144名前は開発中のものです。
2010/05/11(火) 21:33:18ID:QbQcF3AV間違えて押すとうざいだろうけど、致命的ではないかと。
ゲームはフリーの二次創作ですがここまで数年かかったので
完成しても次のゲームを作る気力は無さそうですw
いろいろ参考になりました、皆さんthx!
0145名前は開発中のものです。
2010/05/11(火) 21:52:33ID:TKDOFbWshttp://yomi.bbspink.com/test/read.cgi/pinkcafe/1271942152/
0146名前は開発中のものです。
2010/05/11(火) 21:58:44ID:YWGBRWugキーの配置が物によっておかしいのはあり得るけど、
ゲームはじまればすぐ気づくし、キーコンフィグでOKでしょ。
>間違えて押すとうざいだろうけど、致命的ではないかと。
ウザイ程度なのか、致命的なのかどっちなんだwwおちけつw
0147名前は開発中のものです。
2010/05/11(火) 22:50:46ID:Pq30OCBN0148名前は開発中のものです。
2010/05/11(火) 22:55:42ID:6+Fyb6b4誰か使っている人いる?
http://marupeke296.com/SQLITE_main.html
0149名前は開発中のものです。
2010/05/12(水) 00:44:39ID:/96M4YqH普通に使うが、それはSQLを知ってるから。
ある程度規模が無いとメリットは感じないかもな。
0150名前は開発中のものです。
2010/05/12(水) 00:55:40ID:Ctshm01T単なるデータ表みたいなのではないの?
CSVファイルをC言語で読み込むのとは分けが違うのかなぁ?
0151名前は開発中のものです。
2010/05/12(水) 01:02:14ID:TW+wbp9/SQL文1つで他の表と簡単に結合できる
0152名前は開発中のものです。
2010/05/12(水) 02:13:50ID:RGXBbcnU一番差が出るのは、たとえば交易やトレード、MMORG
どのアイテムを誰がいくつ持っているかやユーザのログイン管理みたいに、
ランダムで適当に数字作るわけにいかないようなものだと、
逆にSQL使わないととても管理しきれない
0153名前は開発中のものです。
2010/05/12(水) 02:26:17ID:lFdb3vUJ君は馬鹿だろ。
共用のデータにアクセスする仕組みで一番枯れてるから利用されてるだけ。
>ランダムで適当に数字作るわけにいかないようなものだと、
>逆にSQL使わないととても管理しきれない
↑ コード書いてないだろ。
0154名前は開発中のものです。
2010/05/12(水) 22:55:41ID:vZNCFf+m語弊がかなりあるけどこんなイメージかな
CSVファイルにデータ表(1ファイル1テーブル)を書いてC言語で読み書きする
↓
何度もファイル開いて1行ずつ読んで…ってコード書くのがうざくなったので、
その部分を独立したプログラムにする。
このプログラムに対してデータを追加・検索するなどのコマンドを送れば
結果が返ってくる(もう使う方からはCSVファイルの存在を意識しなくてよくなった)
↓
このプログラム(DBMS データベースマネジメントシステム)は、
専用言語(SQL)で検索・追加・削除などの操作ができる
しかも速くて大量のデータを扱える(1000万件とか)
※さらに整合性を保つための仕掛けとかもできる
このDBMSが、OracleとかSQL ServerとかMySQLとかPostgreSQLとかのことで
独立したアプリケーションとしてサーバー上で動作する。
SQLiteはちょっと特殊で、アプリ組み込み型(モジュール扱い)で軽量なので取り回しやすい
0155150
2010/05/12(水) 23:08:29ID:Ctshm01Tありがとう!
なるほど。
大量のデータに検索ってだけでも十分に使う価値ありだね。
幸い(?)にも、まだそういうが必要になるプログラムを書くことがなかったけど、
今後、新しい問題に取り組むときには意識してみるよ。
0156名前は開発中のものです。
2010/05/13(木) 11:01:42ID:RQqzrl9H世の中ではばんばん使われてるからねぇ。
MMOでも作らん限り、積極的に利用できる場面は限られるけど、
それでも、仕事の知識が生かせて簡単に使えるから、使っちゃうなぁ。
今後はKVSが流行るんだろうけどね。
流行るというか、Web系だと必修になるかんじか。
0157名前は開発中のものです。
2010/05/13(木) 11:15:50ID:gxo3tiAtいちいち各マスター更新してからID探して各テーブル更新とかじゃなく
元の一つの表ベースで1行更新掛けたら、あとはDBが各テーブルに振り分けて更新するくらいしてほしい
0158名前は開発中のものです。
2010/05/13(木) 11:44:01ID:vUM1T9VZビュー使う方法もあるし
0159名前は開発中のものです。
2010/05/13(木) 12:11:36ID:gxo3tiAtそれでマスターIDとか意識しなくても
ビューの1行追加で済む?
りんご スーパー成田 ¥50 青森
りんご 田沢商店 ¥60 長野
みかん スーパー成田 ¥20 愛媛
みかん 田沢商店 ¥40 和歌山
これに
りんご ジャスコ ¥70 中国 とか追加で済む?
実際のテーブルのデータは
1 1 50 1
1 2 60 2
2 1 20 3
2 2 40 4 こうなってるのはわかってるよな?
追加するなら
1 3 70 5 で、その前に店舗マスターと産地マスターを更新してID値を確保せねばならん
これが
addlist={りんご ジャスコ ¥70 中国}とかで更新出来るんならすごい
0160名前は開発中のものです。
2010/05/13(木) 12:31:58ID:vUM1T9VZそれなら無理
ただ、その手のコードは一回簡単なコードを書くだけだから、それほど手間とも思わないが
0161名前は開発中のものです。
2010/05/13(木) 12:45:57ID:vUM1T9VZ外部キーはどうすんだろ
0162名前は開発中のものです。
2010/05/13(木) 12:55:03ID:RQqzrl9Hおまえ、本気でそれのほうが効率がいいっておもってる?
>>159の例から考えると
りんご スーパー成田 ¥40 青森
を追加した場合の処理はどうなるんだよ
入力を指示した人からすると、「スーパー」と「スーパー」は同じつもりでも、
PCだと別データとして認識するだろ。スーパー成田は別IDになるんか?
そこまでDBの判断に任せるとかありえん。
それに、都度、登録済みかどうかの判断が入るとか致命的。
1000件程度ならいいが、10万件とかざらだろ。
俺が扱ってる奴ではマスタは1万件ぐらいでも、実データの方は7億ある奴があるぞ。
マスタの更新はデータテーブルに比べるとほとんど無いと言う普遍的な経験があるから、
正規化して、マスタを切り出すわけなのに、それは無かろう。
0163名前は開発中のものです。
2010/05/13(木) 13:08:37ID:gxo3tiAtお前・・・・プログラム上の処理のことと
ユーザー誤入力の不具合とごっちゃにすんなよ
ユーザーが「スーパー」を見逃して「スーパー」で新規登録しちゃう場合
どのみちDBはそれに従って新規追加するしかない
それは自動と同じ不具合だ
0164名前は開発中のものです。
2010/05/13(木) 13:20:34ID:O3Jg0he7逆にそれでいいなら表分割しない設計が正解じゃん
0165名前は開発中のものです。
2010/05/13(木) 13:22:59ID:RQqzrl9Hふむ、例が悪かったかもしれん。
確かにごっちゃにしてるな。
根本的な話をすべきだな。
>>160が言うとおり、そんなの対した処理じゃないし、
そもそもそれの処理を素のSQLの処理だけでやるのか?って話になるよな。
DBの上には普通アプリケーション層があるよな。
あなたが言ってる部分とか、そこで吸収できちゃう。
というか、出来なきゃいけないでしょ。
画面から、さっきのデータだけがわたってくるわけでもないだろうし、
実際のアプリ画面とか考えたら、データ入力画面では、マスタ部分は選択にするでしょ。
選択肢にないなら、新規マスタ登録画面にでも遷移してマスタ登録するだろうし。
あなたがやりたいその処理が行われる場面ってのが想像できない。
0166名前は開発中のものです。
2010/05/13(木) 13:33:55ID:vUM1T9VZ問:「これこれこういう場合に何かいい方法ある?」
答:「そんな場合あり得ないから考えなくていい」
不毛だろw
0167名前は開発中のものです。
2010/05/13(木) 13:36:36ID:gxo3tiAt表分割せず全部プログラマがconst掛けてリストを作り
データ量削減と更新をやるのは従来どおりの手法
今はDBを利用してやる場合(>>150)の話だ
マスター更新がない場合でも、いちいち毎回ID値引っ張ってこなきゃならない処理が増える
DB使わなきゃそんなの意識せず
単に りんご 田沢商店 だけでconst値で処理が終わる
0168名前は開発中のものです。
2010/05/13(木) 13:42:21ID:vUM1T9VZ俺は使ったことないから、後は自分で調べてくれ
■ このスレッドは過去ログ倉庫に格納されています