SDLスレ ver.2.0at GAMEDEV
SDLスレ ver.2.0 - 暇つぶし2ch378:名前は開発中のものです。
09/02/27 21:35:29 YQ8iFWgu
ABAのようにSDLでゲーム開発していてオープンソースなところを教えてください
コード見て勉強したいです

379:名前は開発中のものです。
09/02/27 21:56:50 xmgpHz+a
>>378
「ペンギンコマンド」とかどうよ。
URLリンク(www.linux-games.com)


380:名前は開発中のものです。
09/02/28 15:50:05 1IBOSKyZ
SDL.NETで作ったソース公開されてるゲームないかな?
SDL.NET自体情報が少なくて、へたれな俺にはぴんとこない。
codezineでやってたのでやっと少し理解できたぐらいで。
できれば日本人が作ってるのがいいんだが・・・

381:名前は開発中のものです。
09/02/28 16:52:59 VMgU4zCi
>>379
海外か。やっぱ国内のは少ないのか…
見てみる。ありがとう

382:名前は開発中のものです。
09/02/28 17:27:49 5UqeQdYc
>>380
URLリンク(d.hatena.ne.jp)

383:名前は開発中のものです。
09/03/14 12:14:01 9btw4Mc8
質問です。
SDL_DisplayFormatAlphaでα情報を持たせたSurfaceに
SDL_SetAlphaで全体α情報を付加させたいのですが
どうもうまくいきません。
これは仕様で出来ないのでしょうか?

384:名前は開発中のものです。
09/03/14 12:34:44 I07kl7uF
>>383
本家のドキュメントWiki( URLリンク(www.libsdl.org) ) に、
> RGBA->RGB with SDL_SRCALPHA
> The source is alpha-blended with the destination, using the alpha channel. SDL_SRCCOLORKEY and the per-surface alpha are ignored.
とあるので、仕様で不可能になってるんだと思います。


385:名前は開発中のものです。
09/03/14 13:19:06 9btw4Mc8
そうですか…
何回やっても出来ないわけだ

素早い回答ありがとうございました。

386:名前は開発中のものです。
09/03/23 16:42:47 6VLsDElv
SDLでフルスクリーンを使用するときに、使っているディスプレイでの最大の解像度(1680x1050)でフルスクリーンにしようとするとウィンドウ化、フルスクリーンを繰り返してしまいます
それ以下の対応した解像度(たとえば1440x900)では正常に表示されます
原因として何が考えられますか?

387:名前は開発中のものです。
09/04/06 12:16:57 pBRyt7pq
>386
カメレスだが
OSはWindows?
下で動作してる古いDirectXが対応してないとか


388:名前は開発中のものです。
09/05/26 00:29:44 TaTh536w
こんなスレあったのか。これこそ俺が求めてたスレ
しかし過疎ってんな

389:名前は開発中のものです。
09/05/26 10:46:45 RE6nhW1+
プログラム板にも類似スレあるからなぁ
スレリンク(tech板)

390:名前は開発中のものです。
09/05/26 11:44:26 g1iwHtNj
Linux板にもあるんだな
スレリンク(linux板)

どこも過疎なんだな

391:名前は開発中のものです。
09/05/26 13:00:07 ury5peHE
まぁどの板も見てる人は同じだったりするんだがなー

392:名前は開発中のものです。
09/05/27 15:13:44 J1ZUF3NO
>>391
あるあ…あるあるwww

393:名前は開発中のものです。
09/05/27 20:27:22 tvwU/dRy
>>391
禿同

394:名前は開発中のものです。
09/06/20 19:00:42 NcF3Cdso
pitchってなんなんだよ


395:名前は開発中のものです。
09/06/21 00:59:00 pYdSfSIz
サーフェスが内部で持ってるバッファの横幅のバイト数

主に効率の理由で、SDL_CreateRGBSurfaceは要求されたwidthより多めにバッファを確保することがある
そのためwidthとは別に、実際のバッファサイズpitchを提供している

396:名前は開発中のものです。
09/06/21 11:20:50 zSv4yW5k
大抵は
width * BytesPerPixels == pitch
になるんだがwidthが中途半端な値の時に行末にパッディングを入れて
効率よくアクセスできる様に行頭位置を調整したりする環境があったりする。
そういう環境では、
width * BytesPerPixels != pitch
になるんで座標(x, y)の値をpixelsから得るときなどpitchを使う方ようにする。

397:名前は開発中のものです。
09/06/21 23:15:51 E25maqZD
SDLで垂直同期待ちをするにはどうしたらいいのでしょうか

398:名前は開発中のものです。
09/06/22 00:20:15 O+mIJJsX
SDL_SetVideoModeでSDL_FULLSCREEN | SDL_HWSURFACE | SDL_DOUBLEBUFを指定してSDL_Flip()

399:名前は開発中のものです。
09/06/23 00:52:22 joZZV7Mo
できないです

400:名前は開発中のものです。
09/06/23 12:13:46 /PVOVvfC
>>397
環境が分からんけど OpenGL 使うなら
SDL_GL_SetAttribute() で SDL_GL_SWAP_CONTROL に 1 を設定する


401:名前は開発中のものです。
09/06/27 18:30:43 sDHPm4PI
ローグライクのようなビジュアル的な計算が不要なゲームだと、
OpenGL使わずSDLだけでも十分って認識でおk?age

402:名前は開発中のものです。
09/06/27 19:19:02 KWqzL4Cx
>>401
SDLもいらね。CUIで十分だ。

403:名前は開発中のものです。
09/06/28 00:08:39 ywJLJ5bX
SDLの本が全く無いのがおかしいと思います

404:名前は開発中のものです。
09/06/28 00:34:11 HORigyY6
じゃあ書くしかないよね!期待してる

405:名前は開発中のものです。
09/06/28 00:34:35 bZPPtuvi
シンプルなのに本が必要って理解できない。
関数の説明とかサンプルがあれば十分だと思う。
言語を本を見て勉強する人も理解できない。
文法なんて数日で慣れるし、実際にコーディングした方が早い。

406:名前は開発中のものです。
09/06/28 00:37:11 UHxRgRz6
>>402
タイル版が好きです。

407:名前は開発中のものです。
09/07/27 22:27:56 pwgcLYGU
実行ファイルに埋め込んだリソースのBMPを読み込むにはどうしたらいいんですか

408:名前は開発中のものです。
09/07/29 19:46:46 hxaVetwq
SDL_RWFromMem と SDL_LoadBMP_RW で

409:名前は開発中のものです。
09/07/30 03:02:11 7LpS17TZ
プログラムの中でgzファイルを解凍して使うにはどうしたらいいですか

410:名前は開発中のものです。
09/07/30 08:59:42 X32fjlJI
もうそれ SDL 関係なくね?
zlib 用意して gzopen, gzread, gzclose
あとはここ
URLリンク(www.gzip.org)

411:名前は開発中のものです。
09/07/30 20:26:22 z/8BAJ4t
>>408
すいません。SDL_RWFromMemに与えるべき引数が分かりません。
VisualStudioでresource.rcという下記内容のファイルを作って、
RSC_BMP BITMAP "./test.bmp"
test.bmpを実行ファイルに埋め込むことはできているのですが、どうやって取り出したらいいのでしょうか。


412:名前は開発中のものです。
09/07/30 21:21:20 X32fjlJI
え、そこから?
なら FindResource, LoadResource, LockResource で

413:名前は開発中のものです。
09/08/02 03:20:05 YWNjq98X
実行優先度を設定する関数とかない?

今のところ窓でしか使ってないんだけど、
せっかくのマルチプラットフォームでWin32API使うの勿体無い('A`)

414:名前は開発中のものです。
09/08/02 14:19:49 lj8fHqwo
可搬性のあるやり方は未だ無いと思う
__WIN32, __darwin, __linux, __unix, __FreeBSD で場合分けするしか無いんじゃない?

415:名前は開発中のものです。
09/08/02 18:20:43 jIK/N1/Y
結局そうなるよね。

416:名前は開発中のものです。
09/08/02 18:49:37 MeotJZ+F
マルチプラットフォームw

417:名前は開発中のものです。
09/08/02 19:33:44 P5gI9MRs
>>416
は何がおかしいのか分からない。

418:名前は開発中のものです。
09/08/02 19:45:31 qKXo/Ur3
時々居るよね。意味もなく笑う人。

419:名前は開発中のものです。
09/08/02 20:38:25 8opud4vC
Winだと、printfとかが使えなくなかったっけ。

420:名前は開発中のものです。
09/08/02 20:44:50 Ra9uEb/u
そんなことないよ

421:名前は開発中のものです。
09/08/02 20:47:12 we+x1PU3
>>419
標準出力の内容がstdout.txtに書き出されるとかそういうのじゃなくて?

422:名前は開発中のものです。
09/08/02 22:29:17 8opud4vC
>>421
そう、それです。めんどくさいよね。

423:名前は開発中のものです。
09/08/03 02:33:22 iR0h6COQ
SDL_SetVideoModeを繰り返し呼んでも問題ないでしょうか

424:名前は開発中のものです。
09/08/03 03:43:12 iR0h6COQ
SMPEG_playで再生中の動画の現在の再生時間を得るにはどうしたらいいですか

425:名前は開発中のものです。
09/08/03 03:51:05 iR0h6COQ
SDL_getinfo()でできましたありがとうございました。

426:名前は開発中のものです。
09/08/03 05:22:51 zcH5fUUq
サンクスコ
とりあえず__WIN32のだけ適当に作るわ

427:名前は開発中のものです。
09/08/03 14:13:15 LWn7Xmbh
_WIN32はあったけど__WIN32はなかったような

428:名前は開発中のものです。
09/08/04 01:32:24 fCZ60H43
やけにCPU使用率高いなと思ったらSDL_VideoDriverName()の結果が"windib"でさらに
SDL_SetVideoModeの戻り値のflags見たらSDL_HWSURFACEがセットされてねえし。
ネットの情報調べたらデフォルトでwindib使うようになっててハードウェアアクセラレーション使いたかったら
opengl使えとか書いてあるしまじ糞ライブラリ

429:名前は開発中のものです。
09/08/04 01:55:52 fCZ60H43
デフォルトでハードウェアアクセラレーションの効かないグラフィックライブラリ。
SDL_putenv("SDL_VIDEODRIVER=directx");やっても遅くなったし。。

430:名前は開発中のものです。
09/08/04 01:59:36 NixP6Nts
>>427
ちょっとSDL_main.h辿ってたら
#if defined(__WIN32__)
だったからこのまま使ってるんだけど、
WIN32、_WIN32、__WIN32、__WIN32__とも動作するみたいだった

431:名前は開発中のものです。
09/08/07 16:53:05 oA4Vb9yJ
マウスがウィンドウの内部にあるかどうか判定する方法ありませんか?
ウィンドウの外にいくとマウスがクリックしたことになるので。

432:名前は開発中のものです。
09/08/07 19:39:29 6E06gPMO
たまに >>482 みたいな勘違い君がいますがSDLはグラフィックスライブラリではありません.
- 画面の初期化
- ジョイスティック,マウス,キーボードでの入力
- PCM出力
のためのライブラリです.

ってか昔Windows環境のデフォルトドライバは dirextx だったんだが
ちょっと前に windib がデフォルトになった.現状の SDL の directx ドライバ
ってDirectX 5 とかだしね.
今の directx ドライバ使ったとしても SDL_FULLSCREEN|SDL_HWSURFACE を指定して
かつ実際にハードウェアサーフェスになってなければただのメモリコピーだし速くもならない.

素のSDLのBitBlitで作るのはスーファミくらいのレベルのゲームまででそれ以上
やりたかったらOpenGLを使う.これ世界の常識.あとマルチプラットフォームに
興味ないなら最初から DirectX 直接使っておけばよい.

# SDL 2.0 とかになればこの辺の状況も少しは変るだろうけど…

433:名前は開発中のものです。
09/08/08 01:51:27 tookfkje
>>482に期待

434:名前は開発中のものです。
09/08/09 01:17:07 F8IxnPoP
OpenGLでやるにしてもSDLとOpenGLをつなぐ部分の資料を少なすぎてすぐいきづまるし。まじSDLは糞。
Linuxで2Dゲーム作りたい人くらいしか存在価値ない。winでやるならwin32api直の方がまし。
やっぱオープンソースは糞。人間は金が絡まないと本気にならないのだ。

435:名前は開発中のものです。
09/08/09 04:09:35 x7A49lm+
testgl.cで十分だろ。

436:名前は開発中のものです。
09/08/09 05:14:51 NGT++n2c
>>434
いきづまるのは勝手だが、SDL+OpenGLはなんの問題もないよ。
とりあえず、
URLリンク(www.libsdl.org)
でも見ればいいと思うよ。


437:名前は開発中のものです。
09/08/11 09:40:10 IzCsGYWI
>>434
>>435 のおっしゃるとおり

URLリンク(risky-safety.org)
こちらさんのhtmlのソースを眺めて、たどる

438:名前は開発中のものです。
09/08/11 19:09:27 KfVzNOIz
煽りのフリした教えてくんか糞が。
夏だな。

439:名前は開発中のものです。
09/08/17 09:02:39 cbNmXUcC
お前がな

440:名前は開発中のものです。
09/08/17 12:30:53 GuHWIeqL
いいや、俺が夏だ

441:名前は開発中のものです。
09/08/17 20:33:30 ONtV7RcR
あたしの夏を取らないでよ!

442:名前は開発中のものです。
09/08/21 12:19:45 adQjjuHo
夏の荒らしさん乙です

443:名前は開発中のものです。
09/08/28 02:25:31 bI1GjPiJ BE:732248093-2BP(2)
sssp://img.2ch.net/ico/anime_monar03.gif
あーめんどくせー
衝突検知用の画像作りたいんだけど、pngから透明部分以外を一定値として抜き出す楽な方法ない?

ってふと戻り値boolな関数でreturnさせたら0,1でちょうどいい具合だったのでそういう事にするチラシの裏

444:名前は開発中のものです。
09/09/04 15:39:01 yGl/RyVV
>> 443
一般的に言えばゲームとかだと画像通りの当たり判定を用意したりしないと思うが…

# まぁゲームとはかぎらないけど…

445:名前は開発中のものです。
09/09/04 18:38:35 VrgUM9IL
>>443
Photoshop使用
またはlibpngを使用して自作、とか

446:名前は開発中のものです。
09/09/04 19:38:17 AW5ZeIiJ
陰影などで実際よりも大きくなってる絵の場合、
見た目より当たり判定が大きくなるのは嫌だな。

447:名前は開発中のものです。
09/09/04 21:01:11 3y2blY+c
C++でゲーム作るならツール作成用にサブ言語覚えるのは必須だよな

448:名前は開発中のものです。
09/09/04 21:47:42 VrgUM9IL
自分はツール作成にVB 2005使ってた

449:名前は開発中のものです。
09/09/05 01:06:11 BLuHc9Vl
C++/CLI

450:名前は開発中のものです。
09/09/05 11:39:35 5TqflyB5
悪いこと言わないから.NETならC#かVB使いなさい

451:名前は開発中のものです。
09/09/05 14:06:19 6JitDinv
やっぱり VB 2005 + C++/CLI + アンマネージコード(SSE使用)
C++/CLIではアンマネージコードを含むことができるので、速度がきわめて重要な部分に使う。

452:名前は開発中のものです。
09/09/05 14:20:26 BLuHc9Vl
まぁ、小物はスクリプト系(そのときの気分で言語色々、場合によっては秀丸マクロも)
GUIが必要ならDelphiを使ってる
本格的なツールって大抵は既存のフリーでまかなえるし、データ整形がメインだから
秀丸とUWSCで間に合うよな

453:名前は開発中のものです。
09/09/05 14:47:07 6JitDinv
そしてさらに小物の場合はbashのシェルスクリプト
さらにさらに小物ならシェルスクリプトにせずbashシェルに長い1行で打ち込む

454:名前は開発中のものです。
09/09/05 15:26:27 H9l9Obux
SDLの話題ないんだな

455:名前は開発中のものです。
09/09/05 16:13:51 6JitDinv
SDL使いながら自前でソフトウェアレンダリングしてる人ってどれぐらいいるんだろ。

456:名前は開発中のものです。
09/09/05 18:50:24 BLuHc9Vl
3Dのレンダリングのこと?ワイヤーフレームなら自前処理したことあるけど結構楽しいな
SDL/OpenGLは環境構築ややこしくて諦めたorz
今はいい解説サイト増えたからまたやってみようかな

457:名前は開発中のものです。
09/09/10 23:41:48 ouJOE5Kg
3D目的でSDL使うメリットって何かある?

458:名前は開発中のものです。
09/09/11 02:16:55 V5iYPA+I
>>456
OpenGL つかえる環境作って SDL 使える環境を作ったら終わりだろ…
どこがややこしいんだ??

459:名前は開発中のものです。
09/09/12 16:14:02 AVCa/v68
>>457
インタラクティブなことをしようとするならオーディオレイヤと入力レイヤを備えているのはメリットだと思うが。
OpenGLを表示に使いたいだけならglutなりgluxなり使えばいいわな。

460:名前は開発中のものです。
09/09/12 17:31:48 0lmv1+mo
[GLUTを使用すべき場合]
瞬間的にウィンドウサイズを変更できるようにする場合。
簡単なプログラムをすばやく作成する場合。
[SDL+GLを使用する場合}
ウィンドウサイズを変更させたくない場合。
(ブルームエフェクトなどを使用する場合、ウィンドウサイズ変更時にエフェクト用の
バッファを割り当て直す必要がある)
音も鳴らす場合


461:名前は開発中のものです。
09/09/12 17:44:22 Su1dcMt0
GLFWというものもあるね
gamedev.orgのスレではこれがプッシュされてたみたい
URLリンク(www.gamedev.net)
GLUTは長い間メンテされてないからあまりお勧めしないとかなんとか

462:名前は開発中のものです。
09/09/12 18:37:25 nubInKl1
gl系は画像読み込みがものすごく不親切だった記憶がある

463:名前は開発中のものです。
09/09/12 19:39:29 MwUmjNb/
前にビットマップファイル作ってヘッダ消して読み込むってやらせてたけど
流石にこれは俺が悪いよな

464:名前は開発中のものです。
09/09/14 00:47:35 /xnNUQM4
オッス、おらニート
サマージャンボで3億円当たっちまってボーっと遊びまくってらこのスレ見つけたわけだ。

おまいらどうやって生活費まかなってんの。後学のためにおしえてくんろだぺ。

あ、俺もう寝るから、明日でもえぇよ。じゃーねぃ。?x2665;

465:名前は開発中のものです。
09/09/16 09:33:51 k4ZJL2/r
GLFWは前に試してみたけどlinux環境ではスタティックリンクできなくて
フォーラム見たら作者が仕様だと開き直ってたので捨てた
Win前提なら問題ないみたいだけどそれじゃGLFW使う意味半減だからなあ

最近は改良されてるのかもしれないが…

466:名前は開発中のものです。
09/09/16 11:00:02 StlQ+yhL
そこでgleeですよ

467:名前は開発中のものです。
09/09/20 01:42:21 /lXUq7jB
HSPでSDL_BlitSurface呼ぶとエラーになる
もうねるし

468:名前は開発中のものです。
09/09/20 05:27:05 zX6iAyXm
HSPからSDL呼んで何か嬉しいことってあるのか・・・?

469:名前は開発中のものです。
09/11/03 19:03:32 dUOYzCVS
>>467
そろそろ起きろよ池田ァ!!

470:名前は開発中のものです。
09/11/04 00:49:30 txEubNfN
ドンだけ寝てんだよw

471:名前は開発中のものです。
09/11/08 23:03:17 5mg8aONh
OpenGLメンドくせーだのDirect3Dメンドくせーだの言うが


出来て損なことは何一つねえ



のだよ
偉い人にはそれがわからんのです。

472:名前は開発中のものです。
09/11/10 23:41:21 iS3PwIuY
もう諦めたし

473:名前は開発中のものです。
09/11/13 21:50:34 Q4b/jXV7
WindowsにおけるSDLはDirectXを利用しているんだけどな。

474:名前は開発中のものです。
09/11/13 22:11:37 XT+fnpy7
DirectX5だっけか?

475:名前は開発中のものです。
09/11/13 22:38:40 FHBMJcaz
win32apiのラッピングライブラリじゃねえの

476:名前は開発中のものです。
09/11/14 12:27:52 0S0r62R2
SDL+OpenGLでゲーム作ってます
ゲームの流れは
動作処理→描画→Swap→Delay

動作処理→Swap→描画→Delay
のどちらがよいのでしょうか?垂直同期待ちについてもよくわからないのでそこと包めて教えてください

477:名前は開発中のものです。
09/11/14 12:29:23 0S0r62R2
二個目は動作処理→描画→Delay→Swapでした
連投申し訳ありません

478:名前は開発中のものです。
09/11/15 23:04:16 zpJnzLrg
映像信号は左から右へ1ドットずつ、それを上から下へ1ラインずつ送っているんだ
下まで送りきった後、また上から送りなおすまでに若干の準備期間があって
その期間が来るのを待つのが垂直同期待ち

描画が終わったからと言ってすぐSwapしてしまうと、
送信前と送信後の境目で映像を切り替えてしまうことがあり
ちらついたように見えてしまう
これを俗にティアリングと呼んでいる

垂直同期待ちをする場合はSwapの前に必ずDelayが入る

479:名前は開発中のものです。
09/11/15 23:29:35 C19h/pYA
言いたいことは分かるけど476が勘違いしそうだな
SDL_Delayとティアリングが起こるかどうかは直接関係ない。
垂直同期待ちを有効にしてある場合はティアリングが起きないように
Swap時に自動的に内部で待機が行われる(>>478のいうDelay)ので
描画とSwapの間にSDL_Delayを入れる必要はない。むしろ入れたら遅れすぎてしまうかも。

480:名前は開発中のものです。
09/11/15 23:41:54 zpJnzLrg
あぁそうだ。478で言うDelayはSDL_Delayのことじゃなくて、単なる待ち時間と捉えてくれ。
補足サンクス。

481:名前は開発中のものです。
09/11/16 17:42:23 +8XK/sK6
>>476
Swap ってことはダブルバッファ使ってるって前提で言うと

1) 垂直同期待ち ON(SDL_GL_SetAttribute() で SDL_GL_SWAP_CONTROL に 1 を設定している)なら
SDL_GL_SwapBuffers() で自動的に垂直同期待ちするので SDL_Delay() などは必要ない。

処理→描画→SDL_GL_SwapBuffers()[自動でVBLANK待ち]

2) 垂直同期待ち OFF なら SDL_Delay() で適当な時間待って SDL_GL_SwapBuffers() を呼べばいいんじゃないだろうか。

処理→描画→SDL_Delay(適当)->SDL_GL_SwapBuffers()

1) はモニタのリフレッシュレート依存のフレームレートになる。
2) はティアリングするけど、自分でフレームレートの調整ができる。

ってとこじゃないだろうか。

ちなみに俺の環境(Debian) だと環境変数 __GL_SYNC_TO_VBLANK に
0 以外の値が入ってないと SDL_GL_SWAP_CONTROL に 1 を設定しても
垂直同期待ちしない。

482:名前は開発中のものです。
09/11/26 19:03:17 CidvYtOP
質問ですが、
FR・LGのROMの0xF00000~0xFDFFFFを
使っても大丈夫なのでしょうか

既出だったら申し訳ありません

483:名前は開発中のものです。
09/11/30 14:53:20 zYRTMWSr
SDL_FULLSCREEN で真ん中に寂しく表示される場合があ
るけど、同じ SDL 使ってて mplayer とかはどんな解像
度でもちゃんと画面一杯に出るのは mplayer が頑張っ
てるってこと?

484:名前は開発中のものです。
09/11/30 17:17:02 KrKp2mDg
>どういう理由であれ、ハードウェアによる解像度変更ができない場合は
>一段階解像度の高いモードが使われ、黒い背景の中央に表示ウインドウが置かれます。

だから、例えば最低解像度が640*480の環境で320*240を指定するとそういう状態になる。
確実に画面いっぱいに表示したければ、SDL_ListModesで作成可能な解像度を調べて
適切な拡大処理をすれ。

485:名前は開発中のものです。
09/12/01 00:26:20 k3liZ+0u
mplayerがどうしてるかは知らんけど、たぶんオーバーレイってやつだと
思うよ。SDL_CreateYUVOverlayで作れるけど、対応してればハード
ウェアで拡大してくれる。前にためしで使ってみたけど、色指定が面倒
だから使うのやめた。画面一杯に拡大しても、CPU使用率ほとんど
変わらないのは魅力的だったけど。

486:名前は開発中のものです。
09/12/01 05:20:13 q115eOhs
mplayer のログに YUV planner がどうの、と出るから
多分それだと思う。使ったことないや…

URLリンク(en.wikipedia.org)

487:名前は開発中のものです。
09/12/01 07:29:30 q115eOhs
ffmpegのチュートリアルが詳しかった。
URLリンク(www.dranger.com)

488:名前は開発中のものです。
09/12/01 19:43:38 JC6VUAq8
一番いいのは、ユーザーに選択させること。

こっちは800x600前提で作ってりゃいい


489:名前は開発中のものです。
09/12/01 21:18:45 q115eOhs
描画部をアダプタパターン的にリファクタリングしてス
ケーラを挟むようにした。とりあえず RGB のままでソ
フト的にスケールさせて、アプリ側に問題ないようなら
オーバレイを試してみるよ。

ffmpeg のライブラリ使うと変換も楽そうだし。

URLリンク(www.dranger.com)

>>485
ヒントサンクス。

490:名前は開発中のものです。
09/12/05 09:27:44 maU44PH4
URLリンク(cefiro.homelinux.org)
を参考にMinGW5.1.6にsmpeg 0.4.4を入れようとしているのですがmakeに失敗します。
いくつかのサイトで-lstdc++が必要とのことで

cd smpeg-0.4.4
env LIBS="-lstdc++" sh configure --prefix=/mingw
make

エラーの内容は
undefined reference to 'SDL_XXX'
undefined reference to '__cxa_pure_virtual'
などです。SDLはインストール済みで/mingw/lib/libSDL.aはあります。

どなたか解決策をご存知ないでしょうか。

491:名前は開発中のものです。
09/12/05 13:04:40 xcDdDp0c
>>490
make CC=g++ CXX=g++ LD=g++
と打つと成功する可能性があります。

492:名前は開発中のものです。
09/12/05 21:38:18 maU44PH4
>>491
アドバイスありがとうございます。
コンパイルやリンクにc++の代わりにg++を使うようになったのですがエラーメッセージは変わらずです・・・
エラーを出力して調べてみたところ

Warning: This library needs some functionality provided by -lSDLmain.
I have the capability to make that library automatically link in when
you link to this library. But I can only do this if you have a
shared version of the library, which you do not appear to have.

と出ていました。SDLがリンクできていないのがエラーの原因のようですが上記メッセージと関係あるでしょうか?
ちなみにPATHを通したC:/MinGW/binにはSDL.dllというshared libraryがあります。

もし何かわかる方がいたらアドバイスください。

493:名前は開発中のものです。
09/12/05 22:13:58 7PVQwHSV
>>492
SDL のダイナミックライブラリが見つからないと言っている。
libSDL.a はスタティックライブラリ。

494:名前は開発中のものです。
09/12/05 22:14:41 7PVQwHSV
ああ、dll はあるのか。
>>490 に書いてあるパスとよく見比べてみろ。


495:名前は開発中のものです。
09/12/06 00:58:57 J5Ambf4a
>>494
dllは/usr/local/binじゃなくて/mingw/binにインストールしたんですが、MSYSでecho $PATHとやると
.:/usr/local/bin:/mingw/bin:/bin:...
となっていてSDL.dllがおいてある/mingw/binはパスに入ってます・・・もうお手上げ

よく見たら
URLリンク(cefiro.homelinux.org)
のサイトにMinGWでコンパイルしたsmpeg-0.4.4のバイナリがおいてあるのでそれを/mingwに展開したらとりあえず使えるようになりました。

496:名前は開発中のものです。
09/12/06 08:18:47 tD3g+RMw


497:名前は開発中のものです。
09/12/27 21:37:15 E6vqQ5Mm
同じプログラムでSDLをダイナミックリンクしたものと、スタティックリンクしたものを作成したのですが、
ダイナミックリンク版ではコンソールへ標準出力されていたものが
スタティックリンクでは出ないような現象が発生しています。

SDLのリンク方法によってこういう現象は発生するものなのでしょうか。
また、リンク方法が原因である場合、スタティックリンクで標準出力へ出力する方法は
あるでしょうか。

498:名前は開発中のものです。
09/12/28 02:47:12 Fq5F3Q16
>>497
標準出力に表示されない設定でコンパイルされたライブラリをリンクしてるだけでしょ



499:名前は開発中のものです。
09/12/28 02:50:41 ueppcxNQ
なんだこのデジャブは

500:名前は開発中のものです。
09/12/28 16:18:04 v3DIc8rS
>>498
1ライブラリが本体のソースの動作まで変えてしまうものなんですね。
勘弁してほしいものですが...


--enable-stdio-redirect
ですかね。試してみます。
でも現状ではファイルにリダイレクトされてるわけでも無いようですが...

501:名前は開発中のものです。
10/01/02 20:53:13 K2AtahHI







makeしたら負けだと思う









502:名前は開発中のものです。
10/01/02 22:20:06 WElBVpUZ
正月早々審議中ですがな

503:名前は開発中のものです。
10/01/03 22:45:29 v00n4e/G
floatに頼子だ割ったプログラムソースを目指す人のためのブランド「float志向」

504:名前は開発中のものです。
10/02/10 06:01:03 42Ej3nDs
SDL_MixerでBGMを任意の位置でループさせる方法はないものか・・・。
やっぱりSDL_Audioで作るしかないのかな

505:名前は開発中のものです。
10/02/10 14:20:15 Epllauxu
どうしてもSDL_Mixerでやりたきゃオーディオソースを切っちゃえばいいじゃん
どうせならOpenAL使おうぜ

506:名前は開発中のものです。
10/02/11 20:04:23 eol/wS6u
SDL_WM_SetCaptionで日本語を表示したいのですがどうすれば良いですか?

507:名前は開発中のものです。
10/02/11 22:32:07 TYw/tKcb
最新バージョンだと文字コードがUTF-8だったと思うんで変換して渡せばいいはず。
変換の仕方はググって下さい。

508:名前は開発中のものです。
10/02/12 05:23:48 50DkRwmT
>>505
ありがとうございます

509:名前は開発中のものです。
10/02/20 00:52:58 P6PcOv95
変換の仕方がわかりませんでした。

510:名前は開発中のものです。
10/02/21 10:34:00 w53qIXyc
こんなんあったよー。

Shift-JIS -> UTF8
URLリンク(www.atmark.gr.jp)
URLリンク(www2s.biglobe.ne.jp)

511:名前は開発中のものです。
10/02/21 16:56:39 3J1UUm0O
IBMのICUを使おうぜ

512:名前は開発中のものです。
10/02/21 19:59:42 ufBia+CD
変換できました。
UTF-8は可変長なのが糞。

513:名前は開発中のものです。
10/02/21 23:58:24 EauoWI/j
SDLdoc-jp を置いている tacoworks.jp の管理人です。
サーバの移転を行うため、3/15 のあたりに DNS 情報の切り替えを予定しています。

ドメイン名自体の変更はないので移転後も
URLリンク(www.tacoworks.jp) のURL は
そのままアクセスできますが、
切り替えの時期に一時的に見えなくなるかも知れません。
もしそうなったら申し訳ありません。


514:名前は開発中のものです。
10/02/27 21:52:04 EEwTwLby
openglを使う時に最初の画面が真っ白になるのを回避できませんか?
できれば画像を読み込んで、いきなりそれを表示したいのですが。

515:名前は開発中のものです。
10/03/04 02:20:13 UchClD6H
>514
もしかしてSDL_SetVideoModeしてから最初のSDL_GL_SwapBuffersを呼ぶまでの時間が長いんじゃないのか?
ファイルの読み込みとか

516:名前は開発中のものです。
10/03/05 22:08:24 hwXnLLqk
いえ、別に何もしていませんが、最初の一瞬だけ真っ白になります。
それが嫌なのです。

517:名前は開発中のものです。
10/03/08 13:08:12 CzYN7Tsj
>>514
うちではならない。
再現する最小のソース書いてうpするか他のPCで試しても同じになるか試してみるか。

518:名前は開発中のものです。
10/03/08 18:55:21 Bw1LtACR
#include <SDL.h>
#include <SDL_opengl.h>
#include <windows.h>

#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "opengl32.lib")

void End(); // 終了処理
bool PollEvent(); // イベント処理
bool Init();

SDL_Surface *gScreenSurface;

int main(int argc, char* argv[])
{
// 初期化
if( !Init() ){
printf( "初期化に失敗しました" );
return 0;
}

// メインループ
while( 1 ){
glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);

// 四角形を描く
glBegin(GL_QUADS);
// 描画色を白に設定
glColor3f(1.0, 0.0f, 0.0);


519:名前は開発中のものです。
10/03/08 18:59:11 Bw1LtACR
// 4つの頂点を指定
glVertex3f(100.0f, 100.0f, 0);
glVertex3f(540.0f, 100.0f, 0);
glVertex3f(540.0f, 380.0f, 0);
glVertex3f(100.0f, 380.0f, 0);
glEnd();

// 更新を画面に反映する
SDL_GL_SwapBuffers();

// イベント処理
if( !PollEvent() )break;
}

// 終了処理
End();

return 0;
}

// 初期化処理
bool Init()
{
// SDLの初期化
if( SDL_Init( SDL_INIT_VIDEO ) < 0 )return false;
SDL_WM_SetCaption("test", NULL);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
// ウィンドウの初期化
gScreenSurface = SDL_SetVideoMode(640,480,32,SDL_OPENGL | SDL_HWSURFACE);
glOrtho(0.0, 640, 480, 0.0, -1.0, 1.0);
glClearColor(255.0f, 255.0f, 255.0f, 255.0f);


520:名前は開発中のものです。
10/03/08 19:03:11 Bw1LtACR
glClear(GL_COLOR_BUFFER_BIT);
return true;
}

// 終了処理
void End()
{
// SDLの終了
SDL_Quit();
}
// イベント処理
bool PollEvent()
{
SDL_Event ev;
SDLKey *key;
while(SDL_PollEvent(&ev) )
{
switch(ev.type){
case SDL_QUIT:// ウィンドウの×ボタンが押された時など
return false;
break;
case SDL_KEYDOWN:// キーボードからの入力があった時
{
key=&(ev.key.keysym.sym); // どのキーが押されたかを取得
if(*key==27){// ESCキー
return false;
}
}
}
}
return true;
}

521:名前は開発中のものです。
10/03/08 19:07:50 Bw1LtACR
上のコードを試してみて下さい。
真っ白なウインドウが出てからちょっとしたら赤い四角形が出てくる
のですが、最初からいきなり赤い四角を表示したいのです。

522:名前は開発中のものです。
10/03/08 20:31:19 Kg6b0q6C
>>521
OS: windowsXP sp3
コンパイラ: gcc version 3.4.5 (mingw-vista special r3)
コンパイルコマンド: g++ hogehoge.cpp `sdl-config --cflags --libs` -lglu32 -lglut32 -lopengl32

私の環境では初回起動時に一瞬、背景が透明なウィンドウが生成されてから、中身が表示されました。
二回目以降は最初から白の背景に赤い四角が表示されます。

523:名前は開発中のものです。
10/03/08 23:00:18 vwTt08PI
通りすがり
OS : Linux 2.6.18-164.11.1.el5.centos.plus i686 i386
コンパイラ : cc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46)
コマンド : cc piyo.cxx `sdl-config --cflags --libs` -lglut

背景が黒のウィンドウができてから白の背景に赤の矩形が表示された

524:名前は開発中のものです。
10/03/09 01:09:04 Vf4aRsZC
SDLがウィンドウ関連の処理にてこずってるようにも見える。

苦肉の策として サイズ(1 x 1) でウィンドウを作っておいてから
初期化が終わったあとでサイズ変更(or 作り直す)すると
まだマシかもしれない。

525:名前は開発中のものです。
10/03/09 20:29:54 cbWSj+ct
関係ないけど
>glClearColor(255.0f, 255.0f, 255.0f, 255.0f);
これ変じゃない?

526:名前は開発中のものです。
10/03/09 22:19:00 SrDy9O7H
画面上をクリックするゲームを作ってるんですが、
画面上でマウスカーソルを動かしまくるとイベントを受け付けないフレームが出てきます。
どうすればいいですか。

527:526
10/03/09 23:01:04 SrDy9O7H
すいません。自己解決しました。
イベントキューからイベントを取り出してないだけみたいでした。

528:名前は開発中のものです。
10/05/16 18:10:10 06+3luLg
下のコード動かすと画像表示しないで画面が真っ黒になります。
イベントハンドラのセット(SDL_SetEventFilter(&filterEventsHandler);)
を画像転送の後に配置すると画像表示されるんですけど
そういうものなんですか?何かルールありますのですか?

以下ソース(D言語)
-----------
void main()
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Surface *screen = SDL_SetVideoMode(640, 480, 0, SDL_SWSURFACE);

SDL_SetEventFilter(&filterEventsHandler);  // イベントハンドラ

// ビットマップ読込
SDL_Surface *image = SDL_LoadBMP("hell.bmp");
// 転送
SDL_BlitSurface(image, cast(SDL_Rect*)0, screen, cast(SDL_Rect*)0);

// イベントループ
bool done = false;
SDL_Event e;
while ( !done ) {
while ( SDL_PollEvent(&e) ) {
done = e.type == SDL_QUIT;
}
SDL_Delay(1000/30);
}
SDL_Quit();
}


529:528
10/05/16 18:22:50 06+3luLg
SDL_Flip( screen );
したら表示されました。イベントハンドラ設定したら
プライマリサーフェイスがクリアされるとか・・・?
わからねえ

530:名前は開発中のものです。
10/05/16 18:29:59 liwIcFmL
SDL_SetVideoModeのことろで、
SDL_DOUBLEBUFも指定しない場合、
SDL_Flip以外でも「誤って」画面表示される場合があります。


531:528
10/05/16 18:48:17 06+3luLg
>>530 ありがとうございます。
逆に偶然表示されたって感じなんですね。

532:名前は開発中のものです。
10/05/26 23:52:18 vxXpWbeN
ウィンドウを最大化状態から、「元の大きさに戻す」をした場合に、
SDL_ResizeEvent が発生しないのは仕様なのでしょうか。
WindowsXP です。

533:名前は開発中のものです。
10/06/15 06:08:43 uiRYjjiv
openalで音出せなくて泣きそうになってたけど、
sdlでやってみたら何の苦労もなく音鳴らせた。
難しいものだな。

534:名前は開発中のものです。
10/06/16 02:46:18 6fxhLOX2
URLリンク(www.kekkai.org)

ここがすごく良かったです。

535:名前は開発中のものです。
10/06/17 03:30:58 /dRDvNuV
keysymの"sym"ってどういう意味ですか?
何かの略語でしょうか?

536:名前は開発中のものです。
10/06/17 12:00:01 98v+kB9R
symbol

537:535
10/06/17 20:05:49 /dRDvNuV
>>536
ありがとうございました。

538:名前は開発中のものです。
10/08/01 10:17:44 mluWnsAb
GUI(ボタンとか)で使いやすいLIBってどれでしょうか?
軽めのやつで

539:名前は開発中のものです。
10/08/15 22:37:48 67G99BX9
WindowsでSDL使っています
ウィンドウのタイトルバーをドラッグしてるときに
処理がとまらないようにするにはどうすればいいんでしょうか

540:名前は開発中のものです。
10/08/17 08:20:53 zMkGM+He
SDLのソースを書き換えてWM_MOVEを別スレッドで処理すればできると思うけどオススメはしない

541:539
10/08/17 22:37:24 Z5rRbYV4
>>540
Tnx よし、DirectXにしよう

542:名前は開発中のものです。
10/09/22 02:09:41 4CYDiRJs
亀で人違いだが

>>382
thx!

ほんとSDL.netって流行ってないなw

543:名前は開発中のものです。
10/09/29 00:35:38 7qsETlO/
そんなもん俺ライブラリの一つに過ぎないんだから流行ってるも何も
SDLの人気の理由の一つとしてシンプルで簡単というのがあるけど
.NETは簡単にGPU使えちゃうからな
ブラウザ上で動く.NETのSilverlightなんかでもSDLとは比べ物にならないパフォーマンス出るんだぜ

544:名前は開発中のものです。
10/09/29 10:13:58 XTWVB9DN
DirectXやXNAの話か?
そっちの方が将来性あるしいいか。

545:名前は開発中のものです。
11/02/09 01:09:53 fPY7Ts0h
古いバージョンのsdlが欲しいのですが…
MacOS9用のsdlが本家で見つかりません。

546:名前は開発中のものです。
11/02/09 01:19:10 fPY7Ts0h
あ、URLリンク(www.libsdl.org)
にありました。
しかし、普通にたどれるようにして欲しいです。

547:名前は開発中のものです。
11/02/09 18:02:56 gbbiuBkv
SDLのサイトが壊滅的に使いづらいのは仕様

548:名前は開発中のものです。
11/03/01 20:27:17.27 wrZkViYa
SDLで日本語入力を実装したいのですが、SDL_inputmethod、SDL_textmanager、SKK
どれがついすやすいのでしょう?

549:名前は開発中のものです。
11/03/02 02:43:07.95 3VhYuOVm
懐かしいな、SDL。昔WindowsとMacOS9で同時開発しなくちゃならなくてこれも検討したな。
結局使わずにWindows用の自社ライブラリ移植したんだけど、どうして採用しなかったか
理由忘れちまった。

550:名前は開発中のものです。
11/04/08 19:08:36.82 3vhfM6We
書き込みテストも兼ねて・・・
なんであまり普及してないんだ?便利だと思うんだが・・・
OpenGL使ってて、ゲーム作るならGLUTよりSDL!と言われてたのに

551:名前は開発中のものです。
11/04/08 19:39:04.03 SgksuAsW
してなくは無いだろ
SDL.dllが同梱されてるゲームやデモは結構あるぞ

552:名前は開発中のものです。
11/04/08 19:47:03.15 RwixZFmm
ここだけしか見てないんだろ

553:550
11/04/09 13:24:10.96 0+0X4wI/
サーセンw
でもやっぱ資料が見つかりやすくはない・・
日本語にこだわるからかもしれんがorz
使うのが簡単とは言っても初心者にもおすすめって感じでは無いのか・・・?

更新が途中で数年止まってる入門サイトとか、リンク切れしてるサイトとかあったから
もう廃れたのかと思ってしまった

554:名前は開発中のものです。
11/04/09 13:47:45.09 W/U0DtuT
ライブラリの使い方(個々の関数の仕様)を知りたいのか、
SDLを使ったゲーム作りのチュートリアルを知りたいのかわからん。


555:550
11/04/09 16:52:40.30 0+0X4wI/
両方ですがどちらかと言うと後者です
今までは検索すれば入門サイトが2つも3つも出てくる環境でやってたので
もしかしたら探し方が甘いだけかもしれんが・・・

自分が探してるのはSDL自体の使い方というより、
SDL(SDL_imageなども)とOpenGLで作る2D、3Dゲームのごく基本的な部分
例えば画像を読み込んでテクスチャにしたりとかそのあたり

関数の仕様等は調べられるけど、具体的で決定的な使い方がわからず
「これでいいのか・・・?」といった状態です・・・

556:名前は開発中のものです。
11/04/09 17:26:40.81 5I2upZsh
「sdl_surface texture」でわんさか出てくるんで、確かにこれ探せないなら使うの辛いかもな。

557:550
11/04/09 17:42:33.83 0+0X4wI/
本当だ・・・orz

558:550
11/04/09 18:26:07.67 0+0X4wI/
いろんな例のサイトがありますが自分なりにまとめてみます
ありがとうございました。

559:名前は開発中のものです。
11/04/10 16:33:33.85 4SC+Y1ca
連投ばかりスマソ
うーん、、、いっぱい検索して調べれば最後にはなんとかなるけど
やっぱ初心者が容易にとっつける物ではない感じ
わがままかもしれないが、もうちょい至れり尽くせりなサイトがあってもバチは当たらないとも思った
SDL+OpenGLはクロスプラットフォームで有望な選択肢だと思ったし、いつか自分でまとめたいと思った

560:名前は開発中のものです。
11/04/10 21:11:36.60 kKxf3jYA
>>559
一口に初心者といってもいろいろあるよね。

a. OpenGLのみ経験済み。SDLは初めて。
b. SDLのみ経験済み。OpenGLは初めて。
c. SDLとOpenGLそれぞれ個別に経験済み。SDL+OpenGLは初めて。
d. SDLもOpenGLも初めて。だけどゲームは作ったことがあります。
e. ゲーム以外のジャンルのプログラムは経験済み。
f. そもそもプログラムを作ったことがありません。
g. その他

バックグラウンドもわからずに初心者って言われると上記くらいは想像できるので、
まあ>>550にはガンバレくらいしか言えないw


561:名前は開発中のものです。
11/04/13 23:41:29.65 NUdI+73N
URLリンク(hg.libsdl.org)
これとSDLのAPIリファレンス見ればだいたい分かるはず。

SDLとかGLUTは描画に専念できるから導入にはいいと思う。

562:名前は開発中のものです。
11/04/16 04:52:16.64 erZQeP4t
これは本当にありがたい、サンクスです。

563:名前は開発中のものです。
11/04/16 12:07:50.70 3baNslMI
GLUTなんて使ってゲーム作る人は
DirextXのときはDXUTを使うんだろうか。

564:名前は開発中のものです。
11/04/17 20:23:10.05 ZBQovyV1
GLUTって数値計算シミュレーションの可視化とかに使うもんでしょ
DirectXで2Dゲームなら素のままで十分いける

565:名前は開発中のものです。
11/04/17 20:40:20.64 86l2Ce3f
別にDirectXでシミュレーションしたっていいんだよ。
大学とかだと研究用PCがLinuxだからOpenGLの例が公開されてるだけで。
そういう時にToolkitとして使われるのがGLUT。

566:名前は開発中のものです。
11/04/17 20:48:13.96 Wu+6B6Fq
>564

久しぶりに言ってみるか。
お前は何を言っているんだ?


567:名前は開発中のものです。
11/04/18 05:17:05.14 DVr4ycfQ
GLUTではウィンドウの移動ができたのに
SDLではなんでできないんだろう・・・

568:名前は開発中のものです。
11/04/18 11:08:19.73 tjFZajkk
>>567
SDL 1.2の頃はまだ不要だと考えてたんじゃない?
SDL 1.3ならSDL_SetWindowPosition()があるよ。
URLリンク(wiki.libsdl.org)


569:名前は開発中のものです。
11/04/19 09:45:24.35 6iXFyxX4
1.3からはマルチウインドウに対応するんだっけ
窓そのものをキャラクタに見立てたウザシューティングが作れるな

570:名前は開発中のものです。
11/04/19 17:05:15.95 I6Qru0C5
なるほど、thxです。1.3に期待。

571:名前は開発中のものです。
11/04/19 17:15:00.06 p5erbUzU
だいぶ待ってるんだが、リリースいつになるんだろうなあ。
現状普通に使えるの?

572:名前は開発中のものです。
11/04/20 09:14:39.26 nhxAMt4z
>>571
つまり、現バージョンまでを一度も使用せず、次バージョンを待ってると?

573:名前は開発中のものです。
11/04/20 10:11:21.19 bUP197ZB
安定版にしか興味がないならSDL 1.2一択かな。
SDL 1.3には1.2にない機能が入っているから、
それらに興味があるなら1.3を使い始めればいいと思う。

574:名前は開発中のものです。
11/04/20 10:21:22.66 er++fOcK
いや、1.2は使い倒してる
1.3はwarning under construction! とか書いてあるけど
やっぱどっか未実装だったりすんのかなあって

575:名前は開発中のものです。
11/04/20 11:35:26.85 xWfKJzFy
これ見ながら
URLリンク(www.opengl.org)
早速1.3を使ってみたけど、
これは動いたが自分のプログラムはSDL_imageのIMG_Loadで落ちるようになった。
何がいけないんだろうか。

576:名前は開発中のものです。
11/04/20 12:32:38.37 bUP197ZB
>>575
SDL 1.3を使ってSDL_imageをビルドしなおしているよね?
手元の環境で使う分には問題ないんだけど。

577:名前は開発中のものです。
11/04/20 12:33:49.11 bUP197ZB
ごめん、>>576はSDL 1.3とSDL_imageの話であって、
>>575のリンク先のチュートリアルをビルドしたわけじゃないです。

578:名前は開発中のものです。
11/04/20 16:26:49.25 xWfKJzFy
コンパイル済みのBinaryのを使ってましたorz

579:名前は開発中のものです。
11/04/21 02:30:22.36 P5c9O4MC
できればzlib・libpngのビルド→SDL_imageのビルド、libogg・libvorbisのビルド→SDL_mixerのビルドとか
長い手順踏みたく無いけどその場合は安定版のSDL1.2じゃなきゃ駄目かorz
そりゃそうかorz

580:名前は開発中のものです。
11/04/28 00:11:23.76 ZUaoJQWR
SDL Perl を使ってゲームっぽいものを書いてみました。
けれどゲーム製作についてサッパリ知らないもので、
ある動作を実現するのにどんな定番なやり方があるのか知りたく思っています。

ゲーム製作初心者向けのサイトやドキュメントや書籍をご存知なら、
教えていただけないでしょうか?


581:579
11/04/29 21:22:57.78 mtC0cwXi
SDL 1.3が正式にリリースされたら、そのバイナリ(本体とSDL_imageなど)の配布が始まるんでしょうか・・・?

582:名前は開発中のものです。
11/04/29 23:16:38.90 D9JVCgHa
今更だが>>567
リサイズ時にスクリーン座標 100, 50 へウィンドウを移動させる:
SDL_putenv("SDL_VIDEO_WINDOW_POS=100,50");
リサイズ時にディスプレイ中央へウィンドウを移動させる:
SDL_putenv("SDL_VIDEO_CENTERED=1");
SDL1.2 の幾つかのビデオドライバのみの対応だけど

それと SDL1.3 正式版が zlib ライセンスになってリリース予定らしいね


583:567
11/04/30 10:16:14.24 aGut9tJ0
ありがとう、試してみます。

1.3からはiPhoneやらandroidへの移植が可能になるみたいですが、
これもバイナリ配布で簡単に導入できるようになるんでしょうか
そこが気になって夜も眠れないorz

584:567
11/04/30 11:22:26.45 aGut9tJ0
すいません考え方を変えます

粘着でスマソですがやっぱり情報が探せない。。。
VC使っててSDL_imageにlibpngをリンクする方法が未だわからないorz
どのサイトを見ても「pngを読むにはlibpngが必要」とだけ書いてあって
ビルド時にlibpngの存在をどう伝えるのかがわからん
SDL_mixerのoggも同じ

SDLで書いたコード見ると簡潔で初心者にもうってつけな印象だったけど
実際はやっぱりそうじゃないのか

android移植だっておそらくNDKだろうし、やろうとしたら導入で死にそうorz

585:名前は開発中のものです。
11/04/30 14:00:20.10 VB+AI5nC
ソースコード追えばいいよ
で終わらすのもあれなんで

SDL_image や SDL_mixer とかのソース内では #ifdef 使ってライブラリ利用を切り替えてる
SDL_image+libpng なら追加のオプションに
/D "LOAD_PNG"
を入れたり、
/D "LOAD_PNG_DYNAMIC=\"libpng.dll\""
なんて入れると VC++ が libpng の API を参照するようになるかもね

586:名前は開発中のものです。
11/04/30 14:19:25.30 VB+AI5nC
それとその iPhone やら Android やら DS への移植について

あれらは共有ライブラリの仕組みが無いから
否応無しに SDL をスタティックリンクしなければいけない
なので各開発者は自分の開発環境で扱えるように一からビルドする必要がある

開発環境ごとにスタティックリンクに必要なファイルは異なるわけで
余程優しい人が居なければバイナリ (ビルド済み lib ファイル等) 配布なんて無いかもね

587:567
11/04/30 14:56:43.56 aGut9tJ0
詳しい答えをありがとうございます。
少しソースコード見てみます。

重ね重ねすみませんが、もし良ければこの質問に答えてください。
Android開発を今しているわけではないのですが、気になる事なので。

Androidは調べてみるとJavaからJNIでCを動かすようで、
結局 入力や音声はJava側でやるみたいですし(iPhoneはわかりません)、
スマートフォンの入力はパソコンのキーボードやゲームパッドと異なるので
そのまま移植というわけにもいかないと思います。

そうなると、SDL 1.3で謳っているこれらへの移植がどういった物なのかイメージが湧きません。
実際にはほとんど書き直す必要があるのでは?と思ってしまいます。

588:名前は開発中のものです。
11/04/30 16:08:48.83 VB+AI5nC
Android は『ARM CPU で動く Linux の上の箱庭』
脱獄すればそこは素の Linux
つまり組み込み Linux 向けのコードが動くし、その開発環境も流用できる
URLリンク(www.codesourcery.com)
もちろんプログラムはお馴染みの int main(...) から始まる

iPhone みたいなキーの無い携帯端末もあるけど
SDL_MOUSEBUTTONDOWN で液晶画面タッチは捕捉できるので
バーチャルボタンみたいな物を画面上に用意すれば良い

SDL 自体、そういう OS 毎のインターフェースの違いを吸収する役割を担ってるから
こちらはコードを使い回せるわけだね

589:567
11/04/30 16:37:11.96 aGut9tJ0
ほうほう、なるほど!ありがとうございました。
ということはマルチタッチ的に複数のMOUSEにも対応するのか?
まだやってないけどwktkしてきた
この度はサンクスでした!

590:名前は開発中のものです。
11/06/04 16:34:50.15 k66UbPBd
上のほうでも書かれていましたが、確認させてください。
SDL単独では垂直同期はできないということですか?

591: 【東電 75.6 %】 忍法帖【Lv=5,xxxP】
11/06/04 16:41:23.27 UyYvnw9y
590 名前:名前は開発中のものです。[] 投稿日:2011/06/04(土) 16:34:50.15 ID:k66UbPBd
上のほうでも書かれていましたが、確認させてください。
SDL単独では垂直同期はできないということですか?

592:名前は開発中のものです。
11/06/04 22:20:17.87 eG7/Sd2g
SDL_Flipで同期待ちするかもしれないし、しないかもしれない

593:名前は開発中のものです。
11/06/16 20:07:55.24 pbbpyMbl
>1の初心者の初心者による初心者の為のSDL URLリンク(tokyo.cool.ne.jp)
がCOOL終了で6月末に消滅する(と思われる)んだけどどうしたものか?

594:名前は開発中のものです。
11/06/16 20:19:37.04 1pEN00rN
じゃあ、ミラーリングしといて

595:名前は開発中のものです。
11/06/17 10:26:24.99 Q4vXyHFR
>>593
各個人でページのミラーをローカルにとっておいたほうがいいと思う
ミラーソフトは色々あるけど俺のオススメはPageDown
URLリンク(www.vector.co.jp)

内容も少し古くなっているし、最新版にあわせた記述にしたいけど
時間もないからまずは今の状態でミラーリングする事を優先したい


>>594
一応がんばってるけど閉鎖までに間に合わないかも
URLリンク(wiki.game-develop.com)


掲示板のほうはもうすでに消えてるね
スパムが多かったけど、それ以前はやり取りがあったので残しておきたかった
当時の書き込み内容どこかに残ってない?

596:名前は開発中のものです。
11/06/17 11:26:28.32 QCa45aOH
PageDownで4階層まで・他サイトを含まない・jpg,gif,lzhをDL
でDLできた。
infoseekもなくなって、COOLもなのか・・・貴重なページが無に消える・・・

597:名前は開発中のものです。
11/06/17 23:09:18.12 9/isYoLZ
貴重なサイトが無に消えるのは残念だけど、
だからといって丸々転載するのはどうなんかね?

転載するだけでもグレーなのにそれを編集するとか真っ黒だし

598:名前は開発中のものです。
11/06/18 20:07:29.62 RdqlnwwZ
>>597みたいな意見もよくわかるけど実際どうするよ?
丸々転載は複製権、編集は同一性保持権にひっかかると思う
グレーなんて言い方してる所をみると著作権を知らないんだと思うけどどっちも真っ黒

現時点での判断基準はサイトに書いてあったこの文章がヒントになると思う
>なお、サンプルソースおよび私の作成したデータの使用には特に条件はつけませんが、
>著作権は放棄していません
>まぁ常識の範囲で自由に使ってもらって問題はないと思います
>私の作ったデータは自分のゲームに取り入れて使ってもまったくかまいませんが、
>フリー素材の場合は製作者のサイトなり連絡先なりで使用条件を必ず確認してください

まぁ、SDLはもともとゲームメーカーが開発して使っていたもので、今はGNU LGPLのオープンソースなんだけど、
そのあたりの肌感覚にあわせると「改良して公開するのは善」みたいな所もあると思うわけよ
そして2ちゃんねる的にもおまえのサイトは俺らのもの的な妙な一体感というか感覚があると思う
たしか作者ってここの住人だったよな?違ったらごめん、前スレ残してないからうろ覚え
プロフィールに2ちゃんがきっかけって書いてあったからこっちかム板のどっちかだとは思うけどな
一番確実なのは作者に連絡を取る事だけど、今までずっと放置されてる所をみると返事がある可能性は低いと思う

そんなわけで俺一人でどうこう考えても仕方ないのでおまえらがどう考えてるのか聞きたい
ちなみに俺は別にいいんじゃねーのという考えです

>>597が転載ならグレーゾーンになると考えているなら、ミラーリングしたアーカイブをアップローダに置いておくのが
落としどころになると思っています
丸ごと別サイトに置いてもいいけどな。

599:名前は開発中のものです。
11/06/18 21:02:03.91 UOtmvWWb
うだうだ言う前に作者には連絡したんだよね?


600:名前は開発中のものです。
11/06/18 21:25:18.33 RdqlnwwZ
>>599
言いだしっぺの法則

601:名前は開発中のものです。
11/06/18 21:52:08.26 RdqlnwwZ
一応説明しないとわからないと思うのでしときますが
連絡していつまでに返事がなかったらどうするとか
それまでに保全どうするのとか
連絡するならするでどんな条件で誰が保守するんだとか
そのあたりも含めた相談です。
ちなみに私は面倒な展開になったら手を引くつもりなので
皆を巻き込んでおこうという腹なのですが>>599さんは
SDLに興味はおありですか?

ちなみに変な物アップしたらwiki管理人に迷惑かかるんじゃねーのとかも
懸念してはいたのですがよく見たら私の文章が勝手にいっぱいコピペされてるので
そのあたりはもう気にする必要はないよね、お互い様なんだからって感じです(怒ってるわけじゃないですよ、念のため)
というかコピペするだけしといて、コピペブログするなとかいって荒らしてるのはおまえらですか?
あまりの手法にガクブルでしたよ

というわけでそろそろ返事は貰えましたか?>>599さん

602:599
11/06/18 22:25:31.83 zWKUaI9x
>>601
俺を巻き込むなw

603:名前は開発中のものです。
11/07/04 19:56:01.46 Inq/EOep
返事来たヨ。
転載、改変自由だってさ

604:名前は開発中のものです。
11/07/06 13:44:03.05 jLvAMGc3
じゃあ早速作者の名前を改変するとするか

605:名前は開発中のものです。
11/07/06 14:41:06.73 9xxfo8ai
別に得もないだろうにww

606:名前は開発中のものです。
11/07/07 17:18:20.00 HPnttp7o
出版社から「本を出しませんか?」と声がかかったときに重要じゃないか!!!

607:名前は開発中のものです。
11/07/07 21:41:13.32 ubCa0/LA
ライターで食っていけるほど売れると思ってんの?

608:名前は開発中のものです。
11/07/07 22:47:24.94 /d2ahsOr
どう解釈したらそう読めるんだ……

609:名前は開発中のものです。
11/07/20 17:29:02.78 XiuSh0oQ
macで使ってみたいんだが……
フレームワークとテンプレートをコピーしてxcodeで立ち上げるまではいくんだけどそこで
syntax error before
no such file or directory
で11のエラーが出る
初心者丸出しで悪いけど誰かアドバイスしてくれないだろうか

610:名前は開発中のものです。
11/07/20 18:24:26.78 gp1+RARl
とりあえず,ソースコードとコマンドラインを張ろうか
SDLとコンパイラのバージョンがあればなお良し

ってか,パスが通ってないように思えるが

611:609
11/07/21 18:58:12.08 OIUGqo0i
自己解決しました
アホみたいな見落としだった……

612:名前は開発中のものです。
11/07/22 01:37:54.31 nlVobnv9
どう自己解決したのか書け

613:名前は開発中のものです。
11/07/23 00:48:56.93 ncyrwoA1
パス通してなかったかフレームワークを置いてなかったか。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch