2023463
Tonyu BBS
[再読み込み] [ホームページ] [使いかた] [ワード検索] [管理用]

おなまえ

Eメール
題  名  
コメント(http(s)://などのURLが含まれていると投稿できないことがあります)
添付プログラム
※プログラムに関する質問は、そのプログラムを添付して送ると対応が早くできます
添付方法...
削除キー (自分の記事を削除時に使用。英数字で8文字以内)
文字色
オブジェクトの明滅 投稿者 : mmm(softbank219055097076.bbtec.net)
- 2011/04/30(Sat) 23:51 No.12990
 


Download:12990.zip 12990.zip お久しぶりです。毎度のことながら問題が発生し、自分の手に負えないので解決していただきに参りました。

DXキャラで、弾を発射する奴(青い丸い奴)を作ったのですが、
上まで行って弾を発射し終わった後、何回か明滅します。
ポーズをかけて取れるような長さの明滅ではなく、
オブジェクトインスペクタにも表示されないので、
何が原因なのか分かりません。

また、明滅しているときは当たり判定も消えているようです。
$syuの撃った弾が当たってもそのまま貫通してしまいます。
なのでダメージあたり判定が取れずとても困っています。
お願いします。


Re:オブジェクトの明滅 投稿者 : リセッタ(em1-112-128-65.pool.e-mobile.ne.jp)
- 2011/05/01(Sun) 00:43 No.12992
 
中身ないみたいなんですけど?自分だけ?


Re:オブジェクトの明滅 投稿者 : リセッタ(em114-48-41-155.pool.e-mobile.ne.jp)
- 2011/05/02(Mon) 15:14 No.12994
 
zipファイルが空なので、ソース見ていないけれど、

>ポーズをかけて取れるような長さの明滅ではなく、オブジェクトインスペクタにも表示されないので

時間が短すぎるなら、伸ばして確認しましょう。

while(1) {
  //いろいろ処理
//------ 追加 ------
if(getkey(17)) updateEx(30); // getkey(17):[ctrl]キー押下で、0.5SecWait
//---- ここまで ----
  update();
}

上の様にデバッグ用に修正、現象が起きる少し前に[Ctrl]キー(修正例の場合)を押して
waitを掛けてインスペクタで調べるなりなんなりしてみてください。
もしくは、全てのクラスの'update()'メソッドを'updateEx($dbgWait);'に変更して、
管理(自機)クラスで変数'$dbgWait'を通常は'1'、現象前に'30'にする仕掛けにしたり、'$System.setFrameRate()'でフレーム数を弄ったりして時間を延ばしてデバッグしてみてください。


Re: オブジェクトの明滅 投稿者 : Percentage(p39206-ipngn1002souka.saitama.ocn.ne.jp)
- 2011/05/07(Sat) 14:34 No.13017
 
中身入ってましたけど…当方Lhaplus1.58で解凍しました。

ただ、弾を発射するやつ(青い●?)が見つかりません。
赤い●ならありましたがw

ちょっと関係ないけど、一応バグみたいなものを修正しておきます。
[syu.tonyuの最後のほう]
  if(x > 360){
    $map.scrollTo(360,54); // ここ
  }

$map.scrollTo(360.54);になっていました。
多分これで狙い通りスクロールするはずです。

青い●が点滅する理由はわかりません。_visibleをいじっていたり、setVisibleを使っている個所がないか調べてください。

あがっているやつは多分別のプロジェクトだと思います。


Re:オブジェクトの明滅 投稿者 : リセッタ(em114-48-47-117.pool.e-mobile.ne.jp)
- 2011/05/07(Sat) 18:18 No.13018
 
# WinRARで見たら中身あったよ

◎オブジェクトに未定義キャラクタ番号を指定すると?
'DxChar.p'や'SpriteChar.p'に未定義キャラクタパターンの番号をしていすると以下の現象になります。
・表示が消える
・パターンのサイズが'0*0'になる。
・当り判定('crashTo()'等)が効かない(いつも偽)
・画面上のオブジェクトをクリックしても、インスペクタが無反応。

◎アニメーション('newAnimation()'メソッド使用)時の注意
ループ('loop()'等)パターン中に、未定義パターンがないようにする。
未定義パターンがあると、未定義パターン表示時に上記現象が起こり点滅や消滅が起こる。
($pat_XXX+2迄しかパターン定義していないのに、
    Animation.swing($pat_XXX+0,$pat_XXX+7,10); // $pat_XXX+7迄パターンが無いと (x x
 や
    Animation.play($pat_XXX+0,$pat_XYX+7,10);  // $pat_XYXって無いじゃん (w
 の様にしては駄目)

現象を考えるとこれが可能性が高いと思います。

# 追加キーワード ブリンク 当たり判定


Re: オブジェクトの明滅 投稿者 : mmm(softbank219055097076.bbtec.net)
- 2011/05/09(Mon) 20:04 No.13024
 
Download:13024.txt 13024.txt 返信が遅れてすみません。
みなさんの案を試してみましたが、とりあえず自分に理解できている範囲では治りませんでした。(まったく理解していない様なちんぷんかんぷんな事を言っていたらすみません)

>>未定義パターンがあると、未定義パターン表示時に上記現象が起こり点滅や消滅が起こる
確認しましたがあっていると思います。
設定のし忘れもありません。

>>時間が短すぎるなら、伸ばして確認しましょう。
不定期に現象が起こっているので、現象が起きる直前に何か処理をやる、というのは難しいです。

>>中身入ってましたけど――弾を発射するやつ(青い●?)が見つかりません。
たぶん複数のファイルを同時に圧縮してしまったからだと思います。今度はプログラムだけ載せたので、少しは分かりやすくなっていると思います。

>># 追加キーワード ブリンク 当たり判定
ありがとうございます。調べてみます。

どうしようもなくなったらこのボスキャラはとりあえず諦めようと思っています。

あと、updateEx($dbgWait)の$dbgWaitについて教えていただけるとありがたいです。


Re: オブジェクトの明滅 投稿者 : mmm(softbank219055097076.bbtec.net)
- 2011/05/09(Mon) 20:11 No.13025
 
追記:
>>$map.scrollTo(360.54);になっていました。
すみませんそれも昔のプログラムです。

>>_visibleをいじっていたり、setVisibleを使っている個所がないか調べてください。
調べましたが、setVisibleを使っているのは$syuだけなのでそれが原因ではないようです。

いま思ったのですが、もしかして$dbgWaitはwaitする長さですか?


Re:オブジェクトの明滅 投稿者 : リセッタ(em114-48-85-140.pool.e-mobile.ne.jp)
- 2011/05/09(Mon) 21:11 No.13026
 
>今度はプログラムだけ載せたので…
いや、状況が確認できる状態(プロジェクトのファイル全て)を圧縮して添付してもらわないと無理。

>いま思ったのですが、もしかして$dbgWaitはwaitする長さですか?
デバッグ用のWait時間(ms)です。

>不定期に現象が起こっているので、現象が起きる直前に何か処理をやる、というのは難しいです。
不定期?もしかして一発で現象を捉える方法でもあると思ってるの?捉えられるまでやるんだよ。
(大体、一発で捉えられる=現象発生場所は判っているはず)
>上まで行って弾を発射し終わった後…
状況はこうじゃないの?弾を発射し終わった時ってのは不定期なの?
こういう状況になったらWait入れるように罠かければいいじゃん。罠に掛かって、現象が発生するまで何回も(罠を入れない不具合発生頻度の2倍くらいまではがんばれ)繰り返すんだ。

=================================

ものが全然ないので、推察ですが

  if(koudou==2){
    for(i=0;i<11;i++){
      appear(new b2tama2(x,y,$pat_boss2+16));
      wait(2);
    }
    for(b in $chars){
      if(b is bullet && crashTo(b)){
        alpha=255;
        $B2.hp--;
        b.die();
        $syu.wepon--;
        print($B2.hp);
        anim.loop($pat_boss2+21,$pat_boss2+20,10);
      }
    }
    wait(40);
    koudou=3;
  }
ここが 問題の発生している場所かな?
・アニメループが変
        anim.loop($pat_boss2+21,$pat_boss2+20,10); // fromがtoより大きい
・wait(40)で待っている。
自分なら
//  wait(40);
//  koudou=3;
    koudou=2.5; i=40;
  }
  if(koudou==2.5) {
   if(i) i=i-1; else koudou=3;
  }
にする。
※ wait()メソッドが ちょこちょこ入ってるけどデバッグ用じゃないと仮定すると
wait()の時点でスレッドは指定分フレーム待ちになります。
当然、その間は下の方にある当たり判定は実行されません。
"wait(3);"は"update(); update(); update();"に相当(厳密には違う)って判っています?

ん〜そのちょい上で弾発射かな?同一座標からzOrder指定無しでオブジェクト作成・実行してるけど…
    for(i=0;i<11;i++){
      appear(new b2tama2(x,y,$pat_boss2+16)); // ここね
zOrderがボス?と弾が同じ(共にnull)だから、TonyuSystemの
描画タイミングで[ボス?]描画→[弾]描画でボスの画が消えてるんじゃないの?で明滅しちゃうとか?


Re: オブジェクトの明滅 投稿者 : mmm(softbank219055097076.bbtec.net)
- 2011/05/10(Tue) 20:45 No.13029
 
>>wait()の時点でスレッドは指定分フレーム待ちになります。
>>当然、その間は下の方にある当たり判定は実行されません。
なるほど。wait()はそこでいったんプログラムを進ませないようにしているから、当たり判定も消えていたんですね。

>>zOrderがボス?と弾が同じ(共にnull)だから、――描画タイミングで[ボス?]描画→[弾]描画でボスの画が消えてる
zOrderを設定してみましたが、変わりませんでした。


Re: オブジェクトの明滅 投稿者 : mmm(softbank219055097076.bbtec.net)
- 2011/05/10(Tue) 23:12 No.13033
 
追記:
結局wait()の代わりにupdateEx()を使い、onUpdate()で当たり判定を取りました。
とても面倒な方法ですが(if(i) i=i-1; else koudou=3;のほうが楽)、個人的な理由もあってこちらを使うことにしました。
明滅は当たり判定がなくなる原因かと思って載せたのですが、関係ないようなのでいいです。
気にしなければ気にならない程度の明滅なので。


Re: オブジェクトの明滅 投稿者 : Percentage(p39206-ipngn1002souka.saitama.ocn.ne.jp)
- 2011/05/12(Thu) 01:56 No.13034
 
なんか解決したように見えますが、一応完成プログラムのデバッグ方法として一つ。
・まず、ブロック({から})の先頭にprintを入れて、適当な値を書き出してみる。
mmmさんのような場合、waitはなるべく避けてください(waitしか跡を残す方法がないならしょうがない)。私の経験則から言って、この場合はprintの方がいいです。
・次に、実行して、エラーが起きた時のステータスバーの文字列を確認、その文字列を出力している場所を特定。
検索かけたほうが早いです。
・エラーメッセージやエラー時の情報、対応文を書き出し(どこでもおk)、前者2つで問題を提起、全部を通して解決策を提起してプログラムを修正。
この最後の部分はデバッグに於いて重要です。という風にこないだ高校で習いましたwwww

まぁこれはどんな言語でも通じますし、実際「1回目は起きないのに2回目以降起きる不思議現象」の時はwaitはむしろ邪魔な存在になります。

余談ですが、フレームレートを弄るのはエフェクトの確認以外使いません(私はね)。

解決したのに横レス失礼。
フォルダの圧縮にはLhaplusがオススメです(


Re: オブジェクトの明滅 投稿者 : mmm(softbank219055097076.bbtec.net)
- 2011/05/20(Fri) 22:27 No.13042
 
>>Percentageさん
>mmmさんのような場合、waitはなるべく避けてください(waitしか跡を残す方法がないならしょうがない)。

wait()しか跡を残す方法が無いからではなく、ゲームの便宜上、2,3発目の発射するまでの間隔
を空けたいからです。個人的にはprint()のほうがデバッグに使う頻度は高いです。(今回ばかりはそうでもないようですが)。

明滅の件ですが、
あのあとよく目を凝らしてみると、うっすらとですが見えるような気がするので、alpha値の影響だと思います。
余計なところでalpha値の代入がなされているとか、alpha値の変動が自分が予期していたものと違うものだったとか(alpha値をプログラムの中で変えているので)、
そういうのが原因っぽいです。


Re: オブジェクトの明滅 投稿者 : mmm(softbank219055097076.bbtec.net)
- 2011/05/20(Fri) 22:39 No.13043
 
追記:改行が変なところで入ってしまい、読みづらくなってしまいました。すみません。

Percentageさん、一応とはいえ解決したのにもかかわらず御助力くださったことに感謝します。

>>エラーが起きた時のステータスバーの文字列を確認、その文字列を出力している場所を特定。
「ステータスバー」というのは画面下のバーですよね。
printの数値ぐらいしか表示されたことが無いのですが、
「ステータスバー」というのは、コンソールウィンドウのことですか?
ちなみにエラーではありません。(文法エラーとかのエラーなどのことを指している場合ですが)


Re: オブジェクトの明滅 投稿者 : mmm(softbank219055097076.bbtec.net)
- 2011/05/20(Fri) 22:48 No.13044
 
>>リセッタさん
>上まで行って弾を発射し終わった後…
状況はこうじゃないの?弾を発射し終わった時ってのは不定期なの?
勘違いされているようなので一応言っておきますが、上に行き発射した後も、しばらくwaitが入ります。
自分のプログラムを見られたのなら分かったと思うのですが。
そのwaitの時にチカッ,チカッと何回か点滅するんです。
状況説明が不十分ですみませんでした。
点滅に関してはまとまったのでいいです。ありがとうございました。
返信が遅くなり申し訳ありませんでした。


Re: オブジェクトの明滅 投稿者 : リセッタ(em114-48-44-172.pool.e-mobile.ne.jp)
- 2011/05/21(Sat) 11:40 No.13046
 
>勘違いされているようなので……
してないよ?
プログラムの最初からupdateEx()等で間隔を伸ばすと現象が起きるまで時間がかかるよね?
その少し手前でフレームレイトを伸ばす罠をかけて、print()メソッド等で必要な値やトレースをすれば?
って趣旨なんだけど?そんなに分かりづらい?
>「ステータスバー」というのは……
>printの数値ぐらいしか表示されたこと……
コンソールウィンドウにも出るけど、ステータスバーにも出ます。
数値ぐらいしかじゃなくて、必要な情報を自分でださないと

print("p1:x="+x"/y="+y);  // debug
  if(!a) {
    b.die();
print("p2:x="+x"/y="+y);  // debug
  } else {
    x+=3; y-=2;
print("p3:x="+x"/y="+y);  // debug
  }
print("p4:x="+x"/y="+y);  // debug

上記例)オブジェクトの動き(move)が変。動きに関係する変数はまずはx,yなので監視すると共にトレースを行う。
p1→p2→p4ならtrueルート、p1→p3→p4ならfalseルート
本来予想されるルートと変数値の違いから原因を探ります。
※上記例でp2,p3を挿入する意味があるのか?と疑問に思うかも知れませんが、
1.あくまで例として記述している
2.変数aを調べればトレース(ルート調査)は要らないでは、バグは潰せません。(デバッグは忍耐です)
思い込みバグは本来'if(a)'や'if(b)'ならばプログラムが'if(!a)'なのに気づくことが困難です。
>点滅に関しては……
α値までは気がついたのね。
自分は未確認だけどα値を監視してみて、多分255超えているんじゃない?
予想ではα値の実効値は'amod(alpha,256)'(signed char)か、範囲外は0だと思う。
(気になるならインスペクタで確認してみて)


Re: オブジェクトの明滅 投稿者 : Percentage(p39206-ipngn1002souka.saitama.ocn.ne.jp)
- 2011/05/21(Sat) 13:30 No.13047
 
うっすらと見えるんですか…。
やっぱalphaがどっかで変わってるんですね。

ちなみに、alpha値は255を超えても不透明のままですよ(経験済み)。
Tonyu Systemは型無し言語、整数型は全部signed intみたく管理されてますから。

>wait()しか跡を残す方法が無いからではなく...
あ、あくまでデバッグ時の話ね。
完成に必要なwaitまで避けろと言ったのではありません。
printはステータスバーでもコンソールでもどっちにも表示するのでどっちを参考にしてもいいのですが。

なかなかスレがでっかくなってきましたな…。


Re: オブジェクトの明滅 投稿者 : mmm(softbank219055097076.bbtec.net)
- 2011/06/06(Mon) 22:39 No.13056
 
お久しぶりです。しばらくBBSには足を伸ばしていなかったので、
返信してくださったとも気づかず、すみませんでした。
>>リセッタさん
>予想ではα値の実効値は'amod(alpha,256)'(signed char)か、範囲外は0だと思う。
言われてみると確かに、明滅というよりは、徐々に濃くなっていって急に薄くなる、という風にも見えます。
しかし、Percentageさん曰く
「alpha値は255を超えても不透明のままですよ。」
とのこと。

その前のalpha+=10が正常に動いていないのでは、とも思いましたが、
一応、if(alpha>250) alpha=200
を入れてみると、周期的に明滅が起きます。
ということは、おそらく正常に働いていると思うのですが。

さらに、もう一度点滅(?)をよーく観察すると、
濃い状態と薄い状態が交互に現れるような点滅と、
薄い状態がしばらく(といっても0.5秒ほどですが)続くような点滅があるようだ、ということに気づきました。
あと、ダメージを与えたとき(要するに点滅する奴がダメージを受けたとき)は点滅しないようです。

毎度々々情報量が少なくてすみません。こんなですがお願いします。
一応もう一度添付に挑戦してみます。(添付方法がいまだによく分からないんです)

コンボ 投稿者 : Percentage(p39206-ipngn1002souka.saitama.ocn.ne.jp)
- 2011/06/04(Sat) 18:43 No.13053
 


ついに詰まりましたw

格闘ゲームについているコンボシステム(攻撃キー2回で連続技、など)を構築したいのですが、それ自体初めてで頭がごっちゃになりますw

どんなに小さいことでも良いので、他のゲームのコンボシステムの実装だったり、こうしたら案を出したりしてください。
そうすればゲームの更新版をうpできそうです。

よろしくお願いします。
こっちの主人公などのプログラムは気にしなくても大丈夫です。
自由に投稿してください。


Re: コンボ 投稿者 : たくや(110-54-63-220.ppp.bbiq.jp)
- 2011/06/05(Sun) 00:19 No.13054
 
即席ですが・・・

if(getey(90)==1){

if(コンボ==0 || カウント>0)コンボ++;

カウント=30;

if(コンボ==1)一発目;
if(コンボ==2)二発目;
if(コンボ==3){オラオラッシュ;コンボ=0;}

}

if(カウント>0)カウント--; else コンボ=0;

処理説明:

zキーを押して30(0.5秒以内)に
または待機状態(コンボが0)の時に
zキーを押すとコンボが+

コンボが3の時(三発目)に
zキーを押すとオラオラッシュ
コンボがリセット

zキーを押して30(0.5秒)を過ぎると
コンボがリセット


Re: コンボ 投稿者 : Percentage(p39206-ipngn1002souka.saitama.ocn.ne.jp)
- 2011/06/05(Sun) 09:41 No.13055
 
おぉ、たくやさんありがとうございます。

さっき試しに実装したら良い感じだったのでこれでいかせてもらいます。
ありがとうございました。

繋がっているように見せたい件 投稿者 : まー(softbank219054080005.bbtec.net)
- 2011/06/01(Wed) 22:37 No.13051
 


Download:13051.lzh 13051.lzh ひとつに繋がっているヒモのようにしたいのですが
うまくいきません。どうすればいいと思いますか?
あと正確な角度計算のメソッドはどうすればつくれるのですか?


Re: 繋がっているように見せたい件 投稿者 : Percentage(p39206-ipngn1002souka.saitama.ocn.ne.jp)
- 2011/06/02(Thu) 21:29 No.13052
 
Download:13052.zip 13052.zip どうもはじめまして。

・正確な角度計算
$Math.angleを使って下さい。
使い方は普通のangleと同じです。

・紐のようにしたい。
付属ファイルのままでは無理です。
絵じゃなくdrawLineを使うとそれなりに見えます。

プログラムを見ていて改善個所+誤動作しそうな箇所が数多く見つかったので、改造しちゃいましたw
プログラム中のコメントが全てを語っています。

よくわからなければ返信して下さい。

TextCharで改行 投稿者 : 111(fl1-118-111-75-232.gif.mesh.ad.jp)
- 2009/07/29(Wed) 23:02 No.12482
 


 TextCharで文字を表現すると、とても手軽でいいのですが、2行以上になった時に、改行に困ってしまいました。

 maxTextWidth という命令も知っているのですが、たとえば、

 「ああああ\n
 いいいいいいい\n
 うううう」

 みたいに、改行位置が1行目・2行目で違うと、やはりぴったりとは改行できません。

 この \n というのも、"あ" + \n +"い" という形で試してはみたのですが、コンパイルは通るのですが、効果は無視されていました。

 TextCharで指定した位置で改行は、できないものなのでしょうか?
 なんとか、上手く見せる手段はないでしょうか?

 どなたかご存知でしたら、教えてください。お願いします。


Re: TextCharで改行 投稿者 : Triangle Ld.(i218-47-199-58.s06.a011.ap.plala.or.jp)
- 2009/07/30(Thu) 09:22 No.12483
 
以前教えてもらった方法なんですけど、確かTonyuのTextEditorでの改行は、「\r\n」でした。
TextCharはわかりませんが、同じだと思います。


Re: TextCharで改行 投稿者 : 111(fl1-118-111-75-232.gif.mesh.ad.jp)
- 2009/07/30(Thu) 21:12 No.12484
 
 Triangle Ldさん、ありがとうございます。

 「"あ" + \r\n + "い"」という風に書いてみたら、コンパイルが通りませんでした。
 
 「"あ" + \r + \n + "い"」なら通ったのですが、今度は改行の効果が無視されてしまいました・・・。

 TextEditorは使ったことありませんが、TextCharとは違う風に出来ている、という事でしょうか・・・?
 
 


Re: TextCharで改行 投稿者 : renf(softbank220018203123.bbtec.net)
- 2009/07/31(Fri) 08:40 No.12485
 
指定の所で改行というのは出来ませんが
maxTextWidthをつかえば 
指定の座標に文字が到達したときに改行してくれます。


Re: TextCharで改行 投稿者 : Triangle Ld.(i218-47-199-58.s06.a011.ap.plala.or.jp)
- 2009/07/31(Fri) 10:37 No.12486
 
ここを見て

推薦記事: 11938


Re: TextCharで改行 投稿者 : 111(fl1-118-111-75-232.gif.mesh.ad.jp)
- 2009/07/31(Fri) 17:05 No.12489
 
 ううーん・・・
 "あ" + "\r\n" + "い"

 という形にしてみましたが、やはり改行はされませんでした・・・。
 文字列としてそのまま出て来ないところを見ると、かなり脈ありかな、と思ったんですが・・・


 仕方がないので、maxTextWidthで強引に改行っぽく見せることにしました。

 "「ああ  "
 "いいいいい"
  "うう」  "

 みたいな感じです。空白スペースを入れて、改行の幅を一律に指定する・・・

 皆様、ありがとうございました。
 


Re: TextCharで改行 投稿者 : OceanLight(nthkid166146.hkid.nt.ftth.ppp.infoweb.ne.jp)
- 2009/08/02(Sun) 14:59 No.12490
 
\nなどでは改行できません。
プログラムで「\nがあると改行する」を作る必要があります。

Haba = 25;  // 行間
function draw(){
  var t,e,i;
  t = text.sprit("\n");  // \nで区切って配列作成
  i=0;
  for (e in t) {
    drawtext(x,y+Haba*i,t,col,size,zOrder);  // 1行ずつ描画
    i++;
  }
  ondraw();
}


これをTextCharに入れ、textの値を"あいう\nえお"などとすると
改行されると思います。


Re: TextCharで改行 投稿者 : 111(fl1-118-111-75-232.gif.mesh.ad.jp)
- 2009/08/03(Mon) 01:34 No.12491
 
 あっ、なるほど・・・。
 用意されていないなら、作ればいい、の精神ですね。

 わざわざコードまで書いて下さって、ありがとうございます。試してみます。


Re: TextCharで改行 投稿者 : mmm(softbank219055097076.bbtec.net)
- 2011/05/20(Fri) 22:59 No.13045
 
extends TextChar;
Haba = 25;  // 行間
text="はんにゃら,かんにゃら";
function draw(){
  i=0;
  e=0;
  t=text.split();  // ,で区切って配列作成
  for (e in t) {
    $panel.drawtext(x,y+Haba*i,e,$clBlack,9);  // 1行ずつ描画
    i++;
    if(i>2) return;
  }
}

OceanLightさんのではエラーをはいてしまうので、皆さんに質問してちょこっと直させていただきました。
これでいけると思います。

1発目だけショット(Zキー)を押しても発射しない 投稿者 : たくや(110-54-63-220.ppp.bbiq.jp)
- 2011/05/19(Thu) 02:59 No.13038
 


Download:13038.lzh 13038.lzh 実行してから1発目のショットだけ
弾が発射されなくて困ってます(音と火花は出ます)

色々チェックしましたがよくわかりません

しょうもないミスだったらすみません
力を貸してください。よろしくお願いしますm(_ _)m

【操作方法】は
Zキー:ショット 方向キー:移動  です


Re:1発目…発射しない 投稿者 : リセッタ(em114-48-166-33.pool.e-mobile.ne.jp)
- 2011/05/19(Thu) 16:07 No.13039
 
こちらでは、現象確認できず。(正常な動作と思われる)
OS:XP HE SP3 CPU:N270 @ 1.60GHz
---------------------------------------------------
パフォーマンス・ウィンドウを開いてFPSが20未満だと
表示されない可能性はありますね。
(描かれている時間より、表示間隔が長い場合コマ落ちしちゃう)

コマ落ちだとすると、"弾.tonyu"を次の様に変更してください。
extends SecretChar;
while(1) update();
function onDraw() {
  var m,n; m=x; n=y;
  if(angle==  0) n=0;             else
  if(angle== 90) x=$screenWidth;  else
  if(angle==180) y=$screenHeight; else
  if(angle==270) m=0;
  drawLine(m,n,x,y,$clBlack,0);
  die();
}


Re: 1発目だけショット(Zキー)を押しても発射しない 投稿者 : たくや(110-54-63-220.ppp.bbiq.jp)
- 2011/05/20(Fri) 01:35 No.13040
 
正常に動作しました

おそらく今使ってるパソコンの処理速度が遅いので
コマ落ちが原因です(sony製は使えないなぁ・・・)

返信ありがとうございましたm(_ _)m


Re:1発目…発射しない(解説) 投稿者 : リセッタ(em111-188-92-180.pool.e-mobile.ne.jp)
- 2011/05/20(Fri) 04:35 No.13041
 
一応解説

extends SecretChar;
while(1) update();   // メイン処理:オブジェクトが死ぬまでループ
function onDraw() {  // 表示処理イベントによりコールされる
  var m,n; m=x; n=y; // m,n:始点[ローカル変数] x,y:終点[(クラス/メンバ)変数]
  if(angle==  0) n=0;             else // 角度により始点
  if(angle== 90) x=$screenWidth;  else // 終点を求める
  if(angle==180) y=$screenHeight; else
  if(angle==270) m=0;                  // ここは if文いらないか
  drawLine(m,n,x,y,$clBlack,0);        // 弾(直線)描画
  die();             // 描画後死亡(1回描いたらオブジェクト終了)
}

・オブジェクト自体は何もしない(while(1)update();の空ループ)
・描画されるのを待って(drawイベント待ち:onDraw()メソッドを定義)、描画したらオブジェクトを終了させる(die()メソッド)

.
[直接移動] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293] [294] [295] [296] [297] [298] [299] [300] [301] [302] [303] [304] [305] [306] [307] [308] [309] [310] [311] [312] [313] [314] [315] [316] [317] [318] [319] [320] [321] [322] [323] [324] [325] [326] [327] [328] [329] [330] [331] [332] [333] [334] [335] [336] [337] [338] [339] [340] [341] [342] [343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353] [354] [355] [356] [357] [358] [359] [360] [361] [362] [363] [364] [365] [366] [367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379] [380] [381] [382] [383] [384] [385] [386] [387] [388] [389] [390] [391] [392] [393] [394] [395] [396] [397] [398] [399] [400] [401] [402] [403] [404] [405] [406] [407] [408] [409] [410] [411] [412] [413] [414] [415] [416] [417] [418] [419] [420] [421] [422] [423] [424] [425] [426] [427] [428] [429] [430] [431] [432] [433] [434] [435] [436] [437] [438] [439] [440] [441] [442] [443] [444] [445] [446] [447] [448] [449] [450] [451] [452] [453] [454] [455] [456] [457] [458] [459] [460] [461] [462] [463] [464] [465] [466] [467] [468] [469] [470] [471] [472] [473] [474] [475] [476] [477] [478] [479] [480] [481] [482] [483] [484] [485] [486] [487] [488] [489] [490] [491] [492] [493] [494] [495] [496] [497] [498] [499] [500] [501] [502] [503] [504] [505] [506] [507] [508] [509] [510] [511] [512] [513] [514] [515] [516] [517] [518] [519] [520] [521] [522] [523] [524] [525] [526] [527] [528] [529] [530] [531] [532] [533] [534] [535] [536] [537] [538] [539] [540] [541] [542] [543] [544] [545] [546] [547] [548] [549] [550] [551] [552] [553] [554] [555] [556] [557] [558] [559] [560] [561] [562] [563] [564] [565] [566] [567] [568] [569] [570] [571] [572] [573] [574] [575] [576] [577]
- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

- Joyful Note -