元スレMicrosoft Silverlight その6
silverlight覧 / PC版 /みんなの評価 :
451 = :
>>447
ありがとう。どんな感じに書いてるかを見てみたいのでライセンスはなんでもいいです。
455 = :
それでは公開します。
ツッコミ歓迎します。
http://knivez.homelinux.org/~spro/cs/SweetsCrush.zip
456 = :
ナイスTDだな
457 = :
わーいクリアした
458 = :
オールクリアした!
459 = :
>>455
アクションゲームを作りたい場合、定期的(フレームの更新ごと)に関数を呼ぶなら
System.Windows.Media.CompositionTarget.Renderingイベントというのがある。
自分はそれしかしらなかったのだが、
ググったらStoryBoardを使うより楽だと書かれているので使うといいかと。
http://bygzam.seesaa.net/article/110314846.html
実際、古典的なフレーム単位管理に慣れてるならこっちのほうが楽。
あとXAMLはここで使う必要があるのか感がなきにしもだが、
設定用ダイアログとか開くときに、
追加→新しい項目→Silverlight子ウィンドウ
でXAMLでUIを構成できるダイアログが作れるのだが、これがなかなか便利。
あなたのとこの用途だとXMLを読み込んで中身を動かすほうが楽そうな感じも確かにする。
DRM付けてパスワードか何か打たせてオンラインでプレーさせるというのも可能ではあろうが、
決済して顧客ごとにキーを作って安全に送って解除させるとか
そういう細かい方法は知らないんで、まあ出来たら面白いんじゃないですかねと。
自動的にMac対応になるけど、需要がどのくらいあるかは不明w
460 = :
面白かった。
メイドさん強い
461 = :
>>455
System.Windows.Controls.dllのソースコードをGPLで公開してくれ
できなきゃGPL違反だ
462 = :
>>461
アホか?
その論法だとGPLで書かれたシェルを持たないOSはみんな違反しちゃうじゃないか。
GPLというのは一部のOSSライセンスを除いて、
他のライセンスのプログラムと共存していても矛盾を起こさないものだ。
463 = :
だから例外条項があって、システムに当然入ってるようなものには感染しない。
Silverlightをインストールしたときに入るdllも例外と考えていい可能性が高い。
ただし、例外の例外があって 「実行形式と一緒に配布される場合は除く」
だから、ローカルコピーの配布が必要なSystem.Windows.Controls.dllはGPLでないといけないはず。
ちなみにSystem.Windows.Controls.dllはGPL非互換の>一部のOSSライセンス に該当する
MS-PLライセンスでソースコードが公開されている。
464 = :
>>463
ほい。
http://www.opensourcelegal.org/?page_id=532
スレ違いだからGPLスレでやれ。
ここはSilverlightスレだから。
465 = :
>>459
ありがとー。
ゲームの性質上FPSを維持でも60に固定する必要はないから今回は変更しないだろうけど、
最大FPSが62になる現象については、紹介された記事を読んで理解できました。
UIを固定的に配置しているときに他のUIに切り替えるのは
それなりにめんどくさい作業なのでどうしようかと思ってたけど、
子ウィンドウのようなものを作れるならそっちの方が楽かも。
各ステージの設計や敵、武器ユニット関係の設定値は外部化したほうがいいんだよね。
これらを修正するだけで、ゲームのルールは変更しなくてもゲームバランスはガラリと変わるわけで。
SilverlightはFlashと違ってDRMに対応してるのでその辺は興味深いですね。
(でもあれは音声・動画周りに関するDRM?)
466 = :
GPLv3だったのか。すまんかった。
じゃあ結論としてSilverlightでGPL使う場合には、SDKに付いてる再配布ライブラリのうち
MS-PLのものはGPLv3なら利用可, v2では利用不可
そうでないもの(XLINQ, Microsoft.CSharp, XmlSerializer等)は利用不可
って解釈でいいのかな。(Sliverlight標準のライブラリについては問題ないと仮定した上での話)
スレ違い申し訳ない。SilverlightでGPLのソースが使いたくてずっと気になってたんだ。
467 = :
GPLは明確な社会悪です
いい加減新興宗教にはまり込むのはやめなさい
468 = :
>>455 良いね。遊べるね。楽しいね。
ここはひとつソース公開した甲斐があったという展開になるよう、見つけた潜在的なバグを容赦なく指摘しておきませう。
Listに格納された要素についてループを回して、条件に合致したものを消すという処理を行っているところが
何箇所かあるけども・・・
例えば、これ↓(MainPage.xaml.cs)
// 動的アニメーションの切り替え
for (int i = 0; i < Animates.Count; i++)
{
// 対象の移動
Animates[i].OnMove();
// 寿命になったら新しいインスタンスに差し替える
if (Animates[i].Age >= Animates[i].LifeSpan)
{
MapRoot.Children.Remove(Animates[i]);
Animates.RemoveAt(i);
}
}
この場合のfor文では↓こんな感じにiを最大値から0に向かって回さないと、
for (int i = Animates.Count - 1; i >= 0; i--)
条件に合致して消した際に処理がひとつ飛んでしまうよ。
またはもっと単純にRemoveしたあとでiをデクリメントするでも良いかも知れないが。
こうした修正すべてやれば安泰。例えばメイドさんのバズーカ連鎖などは
取りこぼしなく周囲を巻き込むようになって、本来の力を発揮。
さらに爽快な感じになるので。ちょいと検証あれ。
469 = :
>>468
C#のListって中はどうなってたっけ?
linked listタイプならインデックス参照はO(n)になるよね?
for/foreachの最中に追加したり削除したりも中でどうなってるか怖くてやってなかったんだが、
470 = :
>>469
C#のListは実体は可変長配列で、C++のSTLで言うところのvector<>に近い。
インデクス参照はO(1)だが中間要素の削除のコストは不明。
471 = :
>>470
なるほど。
追加と削除が怖いってのはコスト面よりも一意性の問題。
>468さんが指摘している.Countの判定時の問題とかその他もろもろ。
というかその名もLinkedListというクラスがありましたな。
抜き差しを頻繁にする場合はこっちを使ってwhileとifで判定ということかな。
472 = :
>>471
抜き差しを頻繁にやるなら、Dictionaryを使ったほうがいいと思うよ。
473 = :
>>468
ありがとう!
実際、大砲の威力が上がってますよこれ。
あとは、弾が敵に当たるときの位置が微妙に間違ってるんだよねこれ。
動的な表示オブジェクトを一旦全てCanvasにぶら下げる形にしてるから、
座標の管理が難しい。
474 = :
>>473
左上の点の座標で管理しているのなら、当たり判定は変わらないと思うよ
あえて合わせたければ中心座標を持たせてフレームごとにCanvas.setLeft/Top(中心座標-(幅・高さの半分))してやればいい。
あとゲーム性の問題では、止めるやつで止めた時に当たり判定がなくなっているらしく、
止めるやつは用途があんまりなくなってる
475 = :
SL4のリッチテキストボックスにwktkしながらインスコしたら
んだこれマジ期待はずれww
ユーザーに使わせる為にはUI全部自分で作れってかwww
476 = :
>475
おまいは俺か
toolbarくらい標準で用意して欲しいもんだが、無いものはしょうがないんでmsdnのTextEditorサンプルを参考にがんばろうぜ・・・
477 = :
おい、資料が足りないぞ
先輩に「夏休み中に学習しとけ」とか言われたのにあまり勉強できなかった
デバッグの方法がわからない誰か助けて
478 = :
F5でできるだろーが
VSもExpressionも
479 = :
>>476
TexEditorも10ステップくらい操作したらバグったから絶望に暮れるしかなかったわwww
480 = :
>>478
ブレークポイントを設定しようとすると「シンボルが読み込まれてない」とか言われて引っかからないorz
481 = :
>>480
OSからインストールしなおせ
お前にとってはそれが一番早い
482 = :
>>407
誰か助けて…
フォント名をコンボボックスに列挙するところまでできたけど、フォントが選択された時の処理を
foreach (Typeface font in Fonts.SystemTypefaces)
{
GlyphTypeface glyph;
font.TryGetGlyphTypeface(out glyph);
if (glyph.FontFileName == (string)comboBox1.SelectedItem)
{
FontSource f = new FontSource(glyph);
textBlock1.FontSource = f;
}
}
ってやると、「textBlock1.FontSource = f;」の部分でNullReferenceExceptionが出て終わる
487 = :
Flexで満足してるならそれでいいじゃん
ちゃんとした開発環境でプログラミングしたことないだろ
488 = :
むしろ今のActionScriptはちゃんとしたプログラミングといっていいものになってるんだけどな
お前こそ知らずに物言ってるだろ
490 = :
>>488
for と for eachの仕様で混乱したり、
ジェネリックの仕様が中途半端で Vector とかを特別扱いしてるだけとか、
Function 型がジェネリックじゃないからイベントハンドリングむちゃくちゃ大変とか、
addListener したもの(寿命の長さがたとえ同じでも)removeListener しないとメモリリークするとか、
それがちゃんとしたプログラミング環境だというのか?
IE の落ちる原因の9割以上が Flash で、
Safari の落ちる原因の9割以上も Flash でも、
それでもいいものだと思うのか?
491 = :
もちつけ
492 = :
>>490
IE の落ちる原因の9割以上が Flash で、
Safari の落ちる原因の9割以上も Flash
なんかうそくさいな
493 = :
まだFlex使ってるような奴はそのまま沈没して欲しい
迷惑だからSilverlightに来るなよ
494 = :
>>492
Flashが原因で落ちるのはよくあることだぞ、まじで!
FireFoxつかってるとよくわかるけど、
Flashのプラグインはよくリブートする。
495 = :
はげどう
ひどすぎ
セキュリティホールまで開けやがって
496 = :
>>488
そりゃアンタの視野が狭いからそう思えるだけ。
Flexにまともな開発環境なんて存在しない。
それしか知らないから自分が時代遅れの環境に居ることに気付けない。
497 = :
>>492
Safari の方は知らないけど、IE の方は IE チームがほんとに言ってる。
MS はアプリが落ちた時のログ送信してるじゃない。
あれの統計取ってるから確実。
498 = :
Safari は Safari で、ジョブスがインタビューの席で
「なぜ iPhone に Flash を載せないのか」って聞かれたときにそんな話してた。
パーセンテージまでは言ってないけど、「ほとんど Flash の問題なのに、うちが悪いと言われて困る」みたいな。
499 = :
>>498
Adobeの怠慢だっつって結構な喧嘩に発展してたよな
492は一体どういう人間なのかな
Flashが圧倒的にバグだらけなのはユーザー視点でも開発者視点でも明白なのに
500 = :
SilverlightはUI周りを除けば十分枯れた技術の流用だからな
ライブラリやランタイムの信頼性は段違い
類似してるかもしれないスレッド
- Microsoft Silverlight その9 (574) - [96%] - 2023/1/25 14:30
- Microsoft Silverlight その8 (996) - [96%] - 2011/11/12 23:46 ○
- Microsoft Silverlight その7 (1001) - [96%] - 2011/3/24 1:31 ○
- Microsoft Silverlight その5 (984) - [96%] - 2010/4/16 20:20 ☆
- Microsoft Silverlight その4 (1001) - [96%] - 2009/12/5 9:05 ○
- Microsoft Silverlight 2.0 その3 (556) - [83%] - 2009/3/24 0:35 ○
- Microsoft Silverlight 2.0 その2 (1001) - [78%] - 2008/11/21 11:47 ○
- Microsoft Silverlight 2.0 (1001) - [74%] - 2008/5/12 6:08 ○
- Silverlight登場で.NET使い大勝利!!! Part2 (525) - [18446744073709551603%] - 2016/10/16 0:30 ○
トップメニューへ / →のくす牧場書庫について