トップページgamedev
17コメント7KB

SilverLightで動くゲーム

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/03/29(日) 16:09:08ID:OFQ4xiYU
Game Development
http://silverlight.net/forums/52.aspx
0002名前は開発中のものです。2009/03/29(日) 23:32:06ID:/T20F1e8
SilverlightであってSilverLightではない。
あとスレ立てするなら関連スレも入れとけ。

C# C# C♯ でゲームを作ろう Part1
http://pc11.2ch.net/test/read.cgi/gamedev/1212989813/
0003名前は開発中のものです。2009/03/29(日) 23:53:06ID:OFQ4xiYU
ごめんなさい!
0004名前は開発中のものです。2009/04/01(水) 01:33:59ID:/lJjcLiF
だれか作ってー。
0005名前は開発中のものです。2009/04/04(土) 21:47:29ID:01jazmF0
http://akiba.geocities.jp/gtk222/TestPage.html
あそべない、表示めちゃくちゃおかしい。
まあ、一応表示ができるかな?程度で。
0006名前は開発中のものです。2009/04/05(日) 19:02:16ID:TAlK8UgM
ttp://akiba.geocities.jp/gtk222/TestPageV2.html
高速化。バグ修正。表示ちらつく&まだまだおかしい。
遊べない。
0007名前は開発中のものです。2009/04/06(月) 04:21:56ID:1Luq1sUw
ttp://akiba.geocities.jp/gtk222/TestPageV3.html
さらにちょっと高速化?。表示ちらつき防止、だがまだ表示おかしい。
とりあえず遊べる。
操作
↑↓←→ASZX
A:セレクト
S:スタート
Z:Aボタン
X:Bボタン
0008名前は開発中のものです。2009/04/06(月) 19:04:57ID:1Luq1sUw
ttp://akiba.geocities.jp/gtk222/TestPageV4.html
コード最適化および表示バグ修正。一応きちんと表示できるようになった。
0009名前は開発中のものです。2009/04/09(木) 01:16:10ID:6KBEMooV
何気にスゴいなぁ、具(jpgの中)を見させてもらってます。。。
ソースは他のを参考にしたんすか?
0010名前は開発中のものです。2009/04/09(木) 22:33:05ID:u5qWj1Jv
古いエミュのソースをほぼまんまパクってる。
まあ、それなりにネットで調べて知識はある。(が、サウンドはプログラミング自体できないからパス)
特にG-NESにはお世話になったわな。なんせアセンブラでデバッグ実行できるからレジストリやらステータスフラグやらを
確認できるから。
001192009/04/10(金) 08:48:11ID:QE2m0RrX
>>10
自分は自作ROMは VirtuaNES で動作確認してたんだけど
今G-NESを使ってみたら、開発者向けの機能が豊富なのね

具の中を覗いてみると、PngEncoder とかいう未使用のクラスがあるけど
これって何か機能を予定してるんすか?
0012102009/04/10(金) 10:02:11ID:hTdaYG5i
>>11
いや、逆で最初は使用してたんだが使わなくなった。

最初はSilverlight3で作ってたんだけど、根本的な問題にぶち当たったわけなんだわな。
ttp://social.msdn.microsoft.com/Forums/ja-JP/silverlightgeneralja/thread/d7f40ecb-4651-4fd4-8a4d-7647989e58aa
まだベータ版だから作ったアプリを公開スンナっていうこと。
で、Silverlght2でのアプリ作成となったんだが実行時画像生成が基本的にできないんだよな。
どうにかしてできんものかとぐぐったら、
偉い人がMemoryStreamからBitmapオブジェクトを生成することができるのを利用したPngEncoderクラスがみつかったわけ。
ttp://www.codeplex.com/SlDynamicBitmap/Release/ProjectReleases.aspx?ReleaseId=19105
で、いろいろ調べているうちに(つってもすぐに見つかったが)もっと高速な生成を行うPngEncoderを別の偉い人が作っていてね
ttp://blogs.msdn.com/nikola/archive/2009/03/04/silverlight-super-fast-dymanic-image-generation-code-revisited.aspx
このソースを眺めてみると、最初に画像データ以外のヘッダやチャンク、
画像データブロックのlengthデータ等をあらかじめ書いておき、CRC部分はぶっ飛ばし
画像データだけ実行時に書き換えるということで高速化してる。
だったらということで、Page_Load時にヘッダデータやチャンクデータをべたに画面データ配列に突っ込んでおいて
実行時は画像データを上書きして画面更新を行うということを試したらできたんよ。
ということでPngEncoderクラスは使用しなくなった。
001392009/04/16(木) 23:13:38ID:4oObtvfH
>>12
おー、そういう技術資料を見つけるのスゴいっすね
Page.blitScreen、Page.Blit の辺りっすかね?
なんかイメージデータ作ってんのが難解だったんで読むの諦めてた
0014名前は開発中のものです。2009/04/18(土) 04:50:36ID:HbbYhoM2
ゲームではないんですが‥。
http://www.h2.dion.ne.jp/~eee/sample/menu_sample/menu_sample.html
0015名前は開発中のものです。2009/04/18(土) 13:41:37ID:Xw/HylmB
上ででていた具に対するアクセスを防ぐ方法はないんでしょうか?
0016102009/04/18(土) 15:05:35ID:pLwifu2g
ううむ、ないとおもわれ。
ひとつのバイナリをマルチプラットフォームで実行可能にするには、中間コードでないと無理だからな。
(一応難読化というものでコードを読みにくくすることはできるが)
JAVAがいい例。
JAVAをコンパイルするとバイナリコードでコンパイルして、各プラットフォームで用意している仮想マシンで実行
するのと一緒。もちろん、バイナリコードから逆コンパイルすることも可能。
0017102009/04/18(土) 15:24:45ID:pLwifu2g
>>9
そそ。
手順としては、Pngフォーマットの画像データを作るための配列(vBuffer32)を用意して、
1.Page_LoadでPngヘッダを含む各チャンクデータおよび、画像データブロックのレングスデータをvBuffer32に書いておいて
2.blitScreenでは、ブロックレングスが書かれているところを飛ばして画像データをvBuffer32に書き込んで
3.BlitでvBuffer32の中身をMemoryStreamに載せ変えて、MemoryStreamからBitmapImageオブジェクトを生成して
  Imgコントロール(UIElement)のSourceにセットして表示。
という流れっす。
■ このスレッドは過去ログ倉庫に格納されています