[管理用]プロジェクトボードに関する質問はなるべくプロジェクトボード内にてお願いします。「関連記事を探す」で,似たトピックを検索することができます。(自分の記事を削除時に使用。毎度のことながら問題が発生し、自分の手に負えないので解決していただきに参りました。上まで行って弾を発射し終わった後、何回か明滅します。何が原因なのか分かりません。明滅しているときは当たり判定も消えているようです。$syuの撃った弾が当たってもそのまま貫通してしまいます。ダメージあたり判定が取れずとても困っています。No.12994zipファイルが空なので、ソース見ていないけれど、>ポーズをかけて取れるような長さの明滅ではなく、オブジェクトインスペクタにも表示されないので時間が短すぎるなら、伸ばして確認しましょう。----update();}上の様にデバッグ用に修正、現象が起きる少し前に[Ctrl]キー(修正例の場合)を押してwaitを掛けてインスペクタで調べるなりなんなりしてみてください。管理(自機)クラスで変数'$dbgWait'を通常は'1'、現象前に'30'にする仕掛けにしたり、'$System.setFrameRate()'でフレーム数を弄ったりして時間を延ばしてデバッグしてみてください。No.13017中身入ってましたけど...当方Lhaplus1.58で解凍しました。弾を発射するやつ(青い●?)が見つかりません。赤い●ならありましたがwちょっと関係ないけど、一応バグみたいなものを修正しておきます。ここ}$map.scrollTo(360.54);になっていました。これで狙い通りスクロールするはずです。青い●が点滅する理由はわかりません。_visibleをいじっていたり、setVisibleを使っている個所がないか調べてください。あがっているやつは多分別のプロジェクトだと思います。WinRARで見たら中身あったよ◎オブジェクトに未定義キャラクタ番号を指定すると?'DxChar.p'や'SpriteChar.p'に未定義キャラクタパターンの番号をしていすると以下の現象になります。・表示が消える・パターンのサイズが'0*0'になる。・当り判定('crashTo()'等)が効かない(いつも偽)・画面上のオブジェクトをクリックしても、インスペクタが無反応。◎アニメーション('newAnimation()'メソッド使用)時の注意ループ('loop()'等)パターン中に、未定義パターンがないようにする。未定義パターンがあると、未定義パターン表示時に上記現象が起こり点滅や消滅が起こる。(wの様にしては駄目)現象を考えるとこれが可能性が高いと思います。返信が遅れてすみません。みなさんの案を試してみましたが、とりあえず自分に理解できている範囲では治りませんでした。(まったく理解していない様なちんぷんかんぷんな事を言っていたらすみません)>>未定義パターンがあると、未定義パターン表示時に上記現象が起こり点滅や消滅が起こる確認しましたがあっていると思います。設定のし忘れもありません。>>時間が短すぎるなら、伸ばして確認しましょう。不定期に現象が起こっているので、現象が起きる直前に何か処理をやる、というのは難しいです。>>中身入ってましたけど——弾を発射するやつ(青い●?)が見つかりません。複数のファイルを同時に圧縮してしまったからだと思います。今度はプログラムだけ載せたので、少しは分かりやすくなっていると思います。当たり判定ありがとうございます。しようもなくなったらこのボスキャラはとりあえず諦めようと思っています。あと、updateEx($dbgWait)の$dbgWaitについて教えていただけるとありがたいです。No.13025追記:>>$map.scrollTo(360.54);になっていました。すみませんそれも昔のプログラムです。>>_visibleをいじっていたり、setVisibleを使っている個所がないか調べてください。調べましたが、setVisibleを使っているのは$syuだけなのでそれが原因ではないようです。No.13026>今度はプログラムだけ載せたので...いや、状況が確認できる状態(プロジェクトのファイル全て)を圧縮して添付してもらわないと無理。>いま思ったのですが、もしかして$dbgWaitはwaitする長さですか?デバッグ用のWait時間(ms)です。>不定期に現象が起こっているので、現象が起きる直前に何か処理をやる、というのは難しいです。不定期?もしかして一発で現象を捉える方法でもあると思ってるの?捉えられるまでやるんだよ。(大体、一発で捉えられる=現象発生場所は判っているはず)>上まで行って弾を発射し終わった後...状況はこうじゃないの?弾を発射し終わった時ってのは不定期なの?こういう状況になったらWait入れるように罠かければいいじゃん。罠に掛かって、現象が発生するまで何回も(罠を入れない不具合発生頻度の2倍くらいまではがんばれ)繰り返すんだ。fromがtoより大きい・wait(40)で待っている。koudou=3;}にする。入ってるけどデバッグ用じゃないと仮定するとwait()の時点でスレッドは指定分フレーム待ちになります。その間は下の方にある当たり判定は実行されません。No.13029>>wait()の時点でスレッドは指定分フレーム待ちになります。>>当然、その間は下の方にある当たり判定は実行されません。wait()はそこでいったんプログラムを進ませないようにしているから、当たり判定も消えていたんですね。>>zOrderがボス?と弾が同じ(共にnull)だから、——描画タイミングで[ボス?]描画→[弾]描画でボスの画が消えてるzOrderを設定してみましたが、変わりませんでした。No.13033追記:結局wait()の代わりにupdateEx()を使い、onUpdate()で当たり判定を取りました。koudou=3;のほうが楽)、個人的な理由もあってこちらを使うことにしました。明滅は当たり判定がなくなる原因かと思って載せたのですが、関係ないようなのでいいです。気にしなければ気にならない程度の明滅なので。No.13034なんか解決したように見えますが、一応完成プログラムのデバッグ方法として一つ。・まず、ブロック({から})の先頭にprintを入れて、適当な値を書き出してみる。mmmさんのような場合、waitはなるべく避けてください(waitしか跡を残す方法がないならしょうがない)。私の経験則から言って、この場合はprintの方がいいです。・次に、実行して、エラーが起きた時のステータスバーの文字列を確認、その文字列を出力している場所を特定。検索かけたほうが早いです。・エラーメッセージやエラー時の情報、対応文を書き出し(どこでもおk)、前者2つで問題を提起、全部を通して解決策を提起してプログラムを修正。この最後の部分はデバッグに於いて重要です。いう風にこないだ高校で習いましたwwwwまぁこれはどんな言語でも通じますし、実際「1回目は起きないのに2回目以降起きる不思議現象」の時はwaitはむしろ邪魔な存在になります。余談ですが、フレームレートを弄るのはエフェクトの確認以外使いません(私はね)。解決したのに横レス失礼。No.13042>>Percentageさん>mmmさんのような場合、waitはなるべく避けてください(waitしか跡を残す方法がないならしょうがない)。wait()しか跡を残す方法が無いからではなく、ゲームの便宜上、2,3発目の発射するまでの間隔を空けたいからです。個人的にはprint()のほうがデバッグに使う頻度は高いです。(今回ばかりはそうでもないようですが)。明滅の件ですが、あのあとよく目を凝らしてみると、うっすらとですが見えるような気がするので、alpha値の影響だと思います。余計なところでalpha値の代入がなされているとか、alpha値の変動が自分が予期していたものと違うものだったとか(alpha値をプログラムの中で変えているので)、そういうのが原因っぽいです。No.13043追記:改行が変なところで入ってしまい、読みづらくなってしまいました。Percentageさん、一応とはいえ解決したのにもかかわらず御助力くださったことに感謝します。>>エラーが起きた時のステータスバーの文字列を確認、その文字列を出力している場所を特定。「ステータスバー」というのは画面下のバーですよね。「ステータスバー」というのは、コンソールウィンドウのことですか?ちなみにエラーではありません。No.13044>>リセッタさん>上まで行って弾を発射し終わった後...状況はこうじゃないの?弾を発射し終わった時ってのは不定期なの?勘違いされているようなので一応言っておきますが、上に行き発射した後も、しばらくwaitが入ります。自分のプログラムを見られたのなら分かったと思うのですが。そのwaitの時にチカッ,チカッと何回か点滅するんです。状況説明が不十分ですみませんでした。点滅に関してはまとまったのでいいです。ありがとうございました。返信が遅くなり申し訳ありませんでした。No.13046>勘違いされているようなので......してないよ?プログラムの最初からupdateEx()等で間隔を伸ばすと現象が起きるまで時間がかかるよね?その少し手前でフレームレイトを伸ばす罠をかけて、print()メソッド等で必要な値やトレースをすれば?って趣旨なんだけど?そんなに分かりづらい?>「ステータスバー」というのは......>printの数値ぐらいしか表示されたこと......コンソールウィンドウにも出るけど、ステータスバーにも出ます。debug上記例)オブジェクトの動き(move)が変。動きに関係する変数はまずはx,yなので監視すると共にトレースを行う。p1→p2→p4ならtrueルート、p1→p3→p4ならfalseルート本来予想されるルートと変数値の違いから原因を探ります。※上記例でp2,p3を挿入する意味があるのか?と疑問に思うかも知れませんが、1.あくまで例として記述している2.変数aを調べればトレース(ルート調査)は要らないでは、バグは潰せません。(デバッグは忍耐です)思い込みバグは本来'if(a)'や'if(b)'ならばプログラムが'if(!a)'なのに気づくことが困難です。>点滅に関しては......α値までは気がついたのね。char)か、範囲外は0だと思う。No.13047うっすらと見えるんですか...。alphaがどっかで変わってるんですね。ちなみに、alpha値は255を超えても不透明のままですよ(経験済み)。intみたく管理されてますから。>wait()しか跡を残す方法が無いからではなく...あ、あくまでデバッグ時の話ね。完成に必要なwaitまで避けろと言ったのではありません。printはステータスバーでもコンソールでもどっちにも表示するのでどっちを参考にしてもいいのですが。スレがでっかくなってきましたな...。No.13056お久しぶりです。返信してくださったとも気づかず、すみませんでした。char)か、範囲外は0だと思う。言われてみると確かに、明滅というよりは、徐々に濃くなっていって急に薄くなる、という風にも見えます。Percentageさん曰く「alpha値は255を超えても不透明のままですよ。alpha=200を入れてみると、周期的に明滅が起きます。いうことは、おそらく正常に働いていると思うのですが。薄い状態がしばらく(といっても0.5秒ほどですが)続くような点滅があるようだ、ということに気づきました。あと、ダメージを与えたとき(要するに点滅する奴がダメージを受けたとき)は点滅しないようです。毎度々々情報量が少なくてすみません。こんなですがお願いします。一応もう一度添付に挑戦してみます。No.13053ついに詰まりましたw格闘ゲームについているコンボシステム(攻撃キー2回で連続技、など)を構築したいのですが、それ自体初めてで頭がごっちゃになりますwどんなに小さいことでも良いので、他のゲームのコンボシステムの実装だったり、こうしたら案を出したりしてください。すればゲームの更新版をうpできそうです。こっちの主人公などのプログラムは気にしなくても大丈夫です。自由に投稿してください。No.13055おぉ、たくやさんありがとうございます。さっき試しに実装したら良い感じだったのでこれでいかせてもらいます。ありがとうございました。ひとつに繋がっているヒモのようにしたいのですがうまくいきません。・正確な角度計算$Math.angleを使って下さい。使い方は普通のangleと同じです。付属ファイルのままでは無理です。絵じゃなくdrawLineを使うとそれなりに見えます。プログラムを見ていて改善個所+誤動作しそうな箇所が数多く見つかったので、改造しちゃいましたwプログラム中のコメントが全てを語っています。わからなければ返信して下さい。No.12482TextCharで文字を表現すると、とても手軽でいいのですが、2行以上になった時に、改行に困ってしまいました。「ああああ\nいいいいいいい\nうううう」みたいに、改行位置が1行目・2行目で違うと、やはりぴったりとは改行できません。いう形で試してはみたのですが、コンパイルは通るのですが、効果は無視されていました。TextCharで指定した位置で改行は、できないものなのでしょうか?なんとか、上手く見せる手段はないでしょうか?どなたかご存知でしたら、教えてください。No.12483以前教えてもらった方法なんですけど、確かTonyuのTextEditorでの改行は、「\r\n」でした。TextCharはわかりませんが、同じだと思います。Ldさん、ありがとうございます。"い"」という風に書いてみたら、コンパイルが通りませんでした。"い"」なら通ったのですが、今度は改行の効果が無視されてしまいました・・・。指定の座標に文字が到達したときに改行してくれます。"い"という形にしてみましたが、やはり改行はされませんでした・・・。仕方がないので、maxTextWidthで強引に改行っぽく見せることにしました。皆様、ありがとうございました。No.12490\nなどでは改行できません。プログラムで「\nがあると改行する」を作る必要があります。1行ずつ描画i++;}ondraw();}これをTextCharに入れ、textの値を"あいう\nえお"などとすると改行されると思います。No.12491あっ、なるほど・・・。用意されていないなら、作ればいい、の精神ですね。コードまで書いて下さって、ありがとうございます。return;}}OceanLightさんのではエラーをはいてしまうので、皆さんに質問してちょこっと直させていただきました。これでいけると思います。実行してから1発目のショットだけ弾が発射されなくて困ってます(音と火花は出ます)色々チェックしましたがよくわかりませんしょうもないミスだったらすみません力を貸してください。No.13039こちらでは、現象確認できず。1.60GHz---------------------------------------------------パフォーマンス・ウィンドウを開いてFPSが20未満だと表示されない可能性はありますね。(描かれている時間より、表示間隔が長い場合コマ落ちしちゃう)コマ落ちだとすると、"弾.tonyu"を次の様に変更してください。