のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,769人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレMicrosoft Silverlight その6

    silverlight覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - wcfRIAXAP + - デバッグ用のリソース文字列 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    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周りを除けば十分枯れた技術の流用だからな
    ライブラリやランタイムの信頼性は段違い


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / silverlight一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - wcfRIAXAP + - デバッグ用のリソース文字列 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について