iPad専用アクションゲーム「スライムは投げる」

最近のエントリー

何故かDebug.WriteLineで出力ペインに出力されなくなりました。
当然デバッグ実行ですし、プロジェクトの設定でDEBUG定数の定義にチェックは入っています。
イミディエイトウィンドウへのリダイレクト機能もオフにしてあります。

一応いろいろやってみたのですが

Debug.WriteLine("Debug.WriteLine");
Trace.WriteLine("Trace.WriteLine");
Console.WriteLine("Console.WriteLine");

Console.WriteLineは動作するので今はこれで代用しています。
ただ、気持ちが悪いので解決策をご存知の方がいらっしゃいましたらご教授ください。
(VS2010再インストールしかないかな・・・。いろいろアンインストールした時期があるので、間違って何か消しちゃったのかも。)

解決しました。

出力ペインの右クリックメニューで、プログラム出力がオフになってました・・・。
何かの拍子に触ってしまったようです。

  • ある画像をマルチスレッド(分割統治法など)で事前にレンダリングしておき、キャッシュする。
  • OnPaintでそのキャッシュを使う。

なんて事をしようと思いまして、スレッドプールを使って処理をさせ、レンダリングが終わったらワーカースレッド側でManualResetEventのSet()を呼び出し、メインスレッド側ではWaitOneで各ワーカースレッドが終わるのを待つ・・・・というような処理を書きました。

で、たまに描画結果が期待したものにならない事がありまして調べてみると、
どうやらWaitOneで待っている間にOnPaintが呼ばれてしまう事があるようなのです。
(当然その段階ではキャッシュは作り終わっていないので、描画がおかしくなるというわけです。)

このような挙動は過去にMFCなどでネイティブアプリを作っている時には起こり得なかったため、特定に時間がかかりました。

WinFormsはそういう作りになっているそうです。
参考:
http://stackoverflow.com/questions/4540244/how-is-this-possible-onpaint-processed-while-in-waitone

ただ、WaitOneだけならともかく、他にもメインスレッドを待つ処理だったり、.NETのフレームワークの一部の機能を使ったとき(例えばクリップボードに格納されているデータを確認するとき)のような意図しない時にもOnPaintが呼ばれるのが厄介です。
(ツールバーの「貼り付け」ボタンの状態を更新しようとしたらOnPaintが呼ばれる、なんて事もありえます。)

こうした場合、

  • マルチスレッドで画像をレンダリングするのを止める(^^;
  • キャッシュを使わないようにする
  • OnPaintの中でキャッシュを作るようにする
  • フラグでなんとか回避する

などなど、注意してプログラムする必要がありそうです。

何か良いアイディアをご存知の方がいらっしゃいましたら、ご連絡くださいm(_ _)m
(先の参考サイトだとMutexなら起こらないとか書かれていますが、今回のケースだと使えないような?)

以前日記でPerfumeファミコンメドレーを作るぜ!と息巻いていた時がありますが、結局4曲作ったところですっかり飽きてしまい、HDDの肥やしになっていました・・・。

このままお蔵入りするのも勿体無いので、アップしておきます。

ファミコン程度のクオリティなら楽勝でしょ!なんて思って作り始めたのですが、これがなかなか難しくてけっこう制作に時間が掛かっています(ファミコンの発音数は超えていますしね(^^;)。

こういうメドレーはどこかの合作に参加させてもらうのが良いかな~。
誰かPerfumeアレンジメドレーの合作募集してません??

はじめまして、takaboさんの動画をみて感動しました。
最近dominoとsc-8850という同じ環境で作曲を始めたのですが、
まずtakaboさんが再現しているような音が出せないのと、
ニコニコ動画にアップするにあたってどのようにこのような高音質の音を
出力ができたのか、もし差し支えなければ是非ご教授いただきたく
ご連絡させていただきました。
お忙しいと思いますが、ご連絡くだされば幸いにございます。

すみません、連絡方法が解らなかったので、こちらにて回答させていただきます。

①最近dominoとsc-8850という同じ環境で作曲を始めた

おめでとうございます。
SC-8850は高音域が出ないのがたまに傷ですが、音色数も多く、とても良い音源だと思いますので、是非ともお楽しみください。

ただ、昨今のDTMはこうしたハードウェア音源一台で完結させる方法から、ソフトウェア音源(VST)やハードウェア音源、それから生演奏を録音した音などを組み合わせて制作する手法が主流かと思いますので、機会があればDAWと呼ばれる音楽統合ソフトにも挑戦してみてください。

②takaboさんが再現しているような音が出せない

ちょっと質問の意味が曖昧すぎて回答しづらいのですが、同じ音源なので、同じ音は出せますし、同じエフェクトは使えます。
音圧のような事を言っているのでしたらちょっと私では力不足です。

③ニコニコ動画に高音質の音をアップするには

これは特に意識した覚えは無いのですがニコニコムービーメーカーで作った動画でも結構良い音質だったと思います。
私が投稿した当時からそうとう時間が経過していますから、google等で高音質のアップ方法を検索された方が良いかと思います。
どちらかと言えばSC-8850はアナログ出力しかできないので、録音するときにいかに音割れせず録音するかがポイントかと思います。

EDGE2更新しました。

今回も細かな要望対応と不具合修正がメインです。

ダウンロードはこちらからどうぞ。
https://takabosoft.com/edge2

変更点一覧

  • [キャプチャフレーム]→[エクスポート]→[フレーム毎に連番で書き出す]にて、各フレームに含まれるパーツが全て透過かつ同じパレットかつ同じ背景色の場合に限り、透過して書き出すようにしました。
  • 描画系ツールを選んだときに、選択範囲を自動解除する機能を実装しました。
    [環境設定]画面の[編集]から設定できます。
  • [可視レイヤモード]に[編集グループのみ」を追加しました。
    編集レイヤが属しているグループのレイヤすべてを可視にします。
  • 編集レイヤをグループ単位で切り替えることができるようになりました。
    [レイヤ]メニューの[編集レイヤ変更]内にショートカットキーを割り当ててお使いください。
  • パレットに[使用場所の確認]ツールを追加しました。
    [色の使用場所を確認]機能を、頻繁に使う方はこちらをツールバーに登録しておくと便利かと思います。
    パレット上の色をクリックし続けている間、画像側で使われている箇所を点滅させます。
  • バー位置の固定が出来るようになりました。ツールバーが動いてしまう方はご利用ください。
    [表示]メニューの[バー位置の固定]から切り替えられます。
  • EDGE2パレット形式(*.pal)にコメントも保存するようにしました。
  • カラーパレットの[未使用色の削除(減色)]は[ページ毎にパレットを指定する]がオンの時(かつ複数パレットを持つ場合)に無効になるようにしました。
  • カラーパレットの[重複色の統合]は複数パレットを持つ場合でも[ページ毎にパレットを指定する]がオンの時は実行できるようにしました(編集パレットのみ影響を受けます)。
  • [多角形の描画]ツールで[図形を閉じる]がオフの場合にアンドゥ情報が残らない場合がある不具合を修正しました。
  • 透過GIFを読み込んで上書き保存したときに、透過にならない不具合を修正しました。
  • カラーパレットの[カラーツールチップ]がオンになっている際、ツールチップが必要以上に再描画されていた不具合を修正しました(Vistaで確認しましたがOS依存の可能性有り)。
  • [他のパレットから色のコピー]画面にて、不正終了する事がある不具合を修正しました。

記事検索

コミュニティ

Banner designed by とく様
ドット絵掲示板
ドット絵掲示板
自作の「ドット絵」を投稿することができます。ドッターさん同士の交流の場としてご利用ください。
TakaboSoft Wiki
TakaboSoft Wiki
ソフトウェアに関する質問・不具合報告・要望などを書き込むことができます。