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

おなまえ

Eメール
題  名  
コメント(http(s)://などのURLが含まれていると投稿できないことがあります)
添付プログラム
※プログラムに関する質問は、そのプログラムを添付して送ると対応が早くできます
添付方法...
削除キー (自分の記事を削除時に使用。英数字で8文字以内)
文字色
スピードアップ! 投稿者 : Triangle Ld.(softbank219014226155.bbtec.net)
- 2009/01/26(Mon) 15:47 No.12170
 


ゲームの動作を速くするにはどうしたらいいのでしょうか


Re: スピードアップ! 投稿者 : 111(fl1-118-111-75-47.gif.mesh.ad.jp)
- 2009/01/26(Mon) 19:26 No.12171
 
 こちらの方たちのサイトに、詳しく書いてあるようです。
 ttp://www4.atwiki.jp/gomatarou/pages/37.html
 ttp://www7.atwiki.jp/akasi3/pages/542.html
 
 また、自分のときは”オプション”の”描画方法”を変えてみるといいかも、と言われました。処理内容によっては軽くなったりするみたいです。

 それと試していなくて申し訳ありませんが
 ttp://hoge1e3.sakura.ne.jp/tonyu/wiki/index.php?cmd=read&page=%24System.setFrameRate&word=%24System.setFrameRate
 こちらの命令が、特効薬的な効果があるかも知れません。難ありですが・・・


Re: スピードアップ! 投稿者 : Triangle Ld.(softbank219014226155.bbtec.net)
- 2009/01/26(Mon) 21:35 No.12172
 
なるほどなるほど、ちょっと試してみます。


Re: スピードアップ! 投稿者 : Triangle Ld.(softbank219014226155.bbtec.net)
- 2009/01/29(Thu) 18:47 No.12182
 
なんかウィンドウよりフルスクリーンのほうがなめらかで、動作も軽いです。
ウィンドウでやると、ウィンドウの描画とゲーム画面の描画をWindowsが一気にやるので動作が重くなったのでは。と思います。


Re: スピードアップ! 投稿者 : イッカ!(p1077-ipbf3203hodogaya.kanagawa.ocn.ne.jp)
- 2009/01/29(Thu) 19:10 No.12183
 
うーむ、眠い眠い。頭は年中春なイッカ!です(´ω`)b

ん、フルスクリーンの方が動作が軽いんですk(
てっきり動作は重くなるのかと思ってt(ry

実際、ウィンドウモードのほうがフルスクリーンモードよりサクサク動きますよ(゜ω゜〃)
(↑windowsの話、Tonyuでは知らないですw)


Re: スピードアップ! 投稿者 : マッキー(3d2cb17f.ip.ncv.ne.jp)
- 2009/01/31(Sat) 10:56 No.12187
 
フルスクリーンモードにすると、画面の色が、16bitになるので、
普段、32bit,24bitを使ってる人は、軽く感じると思います。

でも、16bitを使ってる人は、16bitのままで、
そのときは、フルスクリーンのほうが、処理が重くなります。

ちなみに、フルスクリーンのときの、描画方法は、
自動的に、B方式になります。(画面の設定も、85ヘルツに変えられる)
その他の方式にすると、画面が止まります。

フルスクリーンのとき、Altキーとカーソルキーで、変えれます。
ここらへんは、そんなに関係ないかもしれませんが。


Re: スピードアップ! 投稿者 : Triangle Ld.(softbank219014226155.bbtec.net)
- 2009/01/31(Sat) 12:59 No.12188
 
なるほど、そんなことがあるなんて気が付きませんでした。
解説ありがとうございます。

なんで? 投稿者 : ぼろ(58-188-75-146.eonet.ne.jp)
- 2009/01/29(Thu) 03:33 No.12176
 


MIDIがTONYUで再生できません。


Re: なんで? 投稿者 : 111(flh1aas119.gif.mesh.ad.jp)
- 2009/01/29(Thu) 06:29 No.12177
 
 それ以外の要因かも知れませんが、豆乳でMIDIの大きいファイルですと、数秒くらい再生が遅れることがあります。
 ちなみに自分は200KBくらいで、数秒遅れました。


Re: なんで? 投稿者 : ぼろ(58-188-75-146.eonet.ne.jp)
- 2009/01/29(Thu) 11:50 No.12178
 
数秒どころじゃなくてずーっとなりません↓


Re: なんで? 投稿者 : ぼろ(58-188-75-146.eonet.ne.jp)
- 2009/01/29(Thu) 12:09 No.12179
 
ちなみにMIDIのみが再生されなくてWAVなどの形式は再生できます;;


Re: なんで? 投稿者 : イッカ!(p1077-ipbf3203hodogaya.kanagawa.ocn.ne.jp)
- 2009/01/29(Thu) 15:57 No.12180
 
MIDIとWAVの再生は別のものとして扱われます、イッカ!ですb

スタート
設定
コントロールパネル
サウンドとマルチメディア
音声(タブ)
[音楽の再生]音量
で「SWシンセサイザ」の音量がミュートになってないか確認を。

もしミュートになっていなければ、他の何か…もしくはプログラム側に問題があるかも…?

少なくとも豆乳側の問題では無いと思いますよ(´ω`;)


Re: なんで? 投稿者 : ぼろ(58-190-52-150.eonet.ne.jp)
- 2009/01/29(Thu) 21:53 No.12184
 
直りました!!!!!!!!!!!!!!!!!!!!!!!!
いっかさんほんま感謝します><ww

うーん 投稿者 : かか(59-171-41-253.rev.home.ne.jp)
- 2009/01/20(Tue) 19:26 No.12158
 


お久しぶりです。
かかでございます

早速質問なんですが
カーソルのオブジェクトが、ある敵オブジェクトに
接触して、なおかつスペースキーを押したら
消えると言う処理は出来たんですけど
動きを設定しても1瞬動いただけで
そのあと動かないんですけど
どうしたらよいでしょうか。


追加 投稿者 : かか(59-171-41-253.rev.home.ne.jp)
- 2009/01/20(Tue) 19:29 No.12159
 
あとプログラムは


extends a;

mark=10;
life=1;
while ($screenHeight) {
angle=angle+3;
scaleX=scaleX+0.008;
  y=y+2;

  angle=angle+vx;

  atariHantei();


  update();
}


Aオブジェクト

extends DxChar;

  // 死んだときの処理
function onDie() {
  appear(new Bomb(x , y ,$pat_Bomb+0));
}

  // 当たり判定メゾット
function atariHantei() {
t=null;
h=0;
while (1) {
  // 的オブジェクトが接触なおかつスペースキーを押した
  // 時の処理を下に記入します。
  if(crashTo($mato)&&getkey(32)==1){
     life=life-1;
     if(life<=0) {
       die();
        {$mplayer.play($se_bomb1);}

       $score=$score+mark;
     }
 }
   update();
}
  update();
}


Re: うーん 投稿者 : 三毛CAT(i220-99-180-237.s02.a012.ap.plala.or.jp)
- 2009/01/20(Tue) 22:09 No.12161
 
atariHanteiメソッドの中に無限ループがあり、敵本体の移動する処理に行けていません。
atariHanteiメソッドの中のwhile文とupdate();は要らないと思います。


Re: うーん 投稿者 : かか(59-171-41-253.rev.home.ne.jp)
- 2009/01/21(Wed) 16:34 No.12162
 
ありがとー。
出来たよ。うん。


新たな質問 投稿者 : かか(59-171-41-253.rev.home.ne.jp)
- 2009/01/28(Wed) 16:37 No.12173
 
ところで、
ある数値が一定の数になったら
死ぬとか、自機のライフを減らす
とかできますか?
できるんならどうやってやるのかも
教えて下さい

たとえばangleが50以上になったら
消える(死ぬ)とか


Re: うーん 投稿者 : イッカ!(p1077-ipbf3203hodogaya.kanagawa.ocn.ne.jp)
- 2009/01/28(Wed) 17:12 No.12175
 
そろそろ蜜柑も飽きてきたイッカ!ですb
別の質問は新しいスレッドでした方が良いですね。

-本題-
●angleが50以上になったら死ぬ。

もし、angleが50以上ならdie()を呼ぶ。

if (angle >= 50) die();

●ある数値が一定の数になったら自機のライフを減らす

もし、ある数値が一定の数以上なら自機のライフから1減らす。

if (ある数値 >= 一定の数) ライフ--;

ただ、これだとずっと減ることになるので
if (ある数値 >= 一定の数) {
  ライフ--;
  ある数値=0;
}
とした方が良いかな。。。?

if文が使えないと大抵のゲームは作れないので、チュートリアル辺りをあさると良いかも知れません。


Re: うーん 投稿者 : かか(59-171-41-253.rev.home.ne.jp)
- 2009/01/29(Thu) 16:38 No.12181
 
すばやい返答有難う御座います。
参考にさせていただきます。

ダウンロードしたいのですが。 投稿者 : スマッシュ](ntkyto109190.kyto.nt.ftth4.ppp.infoweb.ne.jp)
- 2008/06/22(Sun) 16:03 No.11881
 


Tonyuをダウンロードしたいのですが、無料でしょうか?
確認したいので。


Re: ダウンロードしたいのですが。 投稿者 : かか(59-171-41-253.rev.home.ne.jp)
- 2009/01/28(Wed) 16:52 No.12174
 
無料です。
さまざまな機能がついた無料ソフトは
これぐらいかも?

パネルオブジェクトの画像が表示されません 投稿者 : 111(fl1-118-111-75-47.gif.mesh.ad.jp)
- 2009/01/19(Mon) 18:43 No.12152
 


すみません、少し前にパネルオブシェクトをクラスの中で定義する方法を聞いたのですが、それを続けていたら”クラスが長すぎる”と表示されてしまいました。

それで、きちんとパネルオブジェクトを作って、それをappearする形で呼び出したのですが、何故かグラフィックが表示されないみたいです・・・
エラーを吐かないまでは調整しましたので、設定されてない、といった問題だとは思うのですが・・・

パネルキャラの定義はこんな感じです
resize(64,48);scaleX=1;zOrder=-500;p=$pat_ziki+8;

こんな感じでappearしています
t=new BGpane($ziki.x,$ziki.y,$pat_ziki+8);t.oyaziX=$ziki.x;t.oyaziY=$ziki.y;(t);

本当はプログラムを添付するのが一番いいのでしょうが、かなり長くなってしまっていて、すぐに出来そうに無いです・・・
この命令文でこの定義が抜けているよ、と分かる方は居ますでしょうか? 教えてください、お願いします。


Re: パネルオブジェクトの画像が表示されません 投稿者 : イッカ!(p1077-ipbf3203hodogaya.kanagawa.ocn.ne.jp)
- 2009/01/19(Mon) 18:56 No.12153
 
インフルエンザKOEEEなイッカ!です。。

以下の原因が思いつきました。
・パネルオブジェクトのUpdate()やwait()が抜けている。
・Appearの出現場所が画面外
・変数やクラスの名前が違う

全然違うかm(ry
ちなみに「クラスが長すぎる」ってのは無視しても良いみたいですよ(´・ω・`)


Re: パネルオブジェクトの画像が表示されません 投稿者 : マッキー(0x3d2cb63a.rev.ncv.ne.jp)
- 2009/01/19(Mon) 22:15 No.12154
 
添付ファイルを見ないと、詳しくはわかりませんが。
たぶん、pに値を代入してるだけじゃないでしょうか?
この方法は、スプライトでは通用しますが、パネルではできません。
なので、appearでも画像を直接描画してくれません。

ちなみに、Kernelフォルダで調べたところ、パネルの書式は、
appear(new PanelChar(x,y))
こんな感じで、X座標とY座標しか、入れれません。
パネルの場合は、描画命令を書かないといけません。(drawSpriteなど)

あと、「クラスが長すぎます」って、長いプログラムを書いていると、
頻繁に出てくるので、気にしなくてもいいのですが、
30000バイトになると、Tonyuから編集できなくなります。(ワードとかではできるかな?)
でも、コンパイルは30000バイト超えていても、できるようです。


Re: パネルオブジェクトの画像が表示されません 投稿者 : うみんちゅー(nthkid198002.hkid.nt.ftth.ppp.infoweb.ne.jp)
- 2009/01/19(Mon) 22:49 No.12155
 
パネルオブジェクトにはpという変数は用意されてないです。

パネルの中に何か入れたい場合は

panel.drawsprite

を使う必要があります。通常のdrawSpriteと入力する変数が違うので注意です。(特にDrawDxSpliteは)
あと、通常のdraw系の描画命令の殆どはpanelで使えないのが多いです。


クラスが長くなったら複数クラスに分割するとエラーがでなくなりますが・・・。
ただ、functionを一切使わないプログラムだったら不可能ですが><
「クラス長すぎる」エラーは時々文字化けの原因にもなったりするので(特に日本語入力中)結構注意が必要かも。


Re: パネルオブジェクトの画像が表示されません 投稿者 : NaN(cc-y5022.wsr.st.keio.ac.jp)
- 2009/01/20(Tue) 13:59 No.12156
 
>(t);
これはappear(t);の書き間違いでしょうか。

具体的なことは何も申し上げられないのですが、
コードのコピー&ペーストを繰り返していると、自然とプログラム全体が長くなりますね。
そのような場合、配列とfor文を使うことでかなり短くなる可能性があります。
panel.drawSprite(x,y,$pat_p+0);panel.drawSprite(x,y,$pat_p+1);panel.drawSprite(x,y,$pat_p+2);・・・・・

a=new Array();for (i=0;i<=5:i++){a.add($pat_p+i);}//while前に一度実行すればOK
for (i=0;i<=5:i++){panel.drawSprite(x,y,a.get(i));}
マップパターンがおかしくならない範囲で、画像もプログラムに合わせて整理すると効果的です。

それでも、AIなど極めて複雑な処理を作っていると一杯一杯になってしまうことがありました。


Re: パネルオブジェクトの画像が表示されません 投稿者 : 111(fl1-118-111-75-47.gif.mesh.ad.jp)
- 2009/01/20(Tue) 18:07 No.12157
 
 皆様、ありがとうございます。ひとまず短くしたものをアップしてみます、お願いいたします。(100KBを越えてしまうので、自分のサイトにUPしました)
 ttp://www.geocities.jp/shoolkeler/panel.zip
 クラス"BG"の★の注釈がたくさんある所が、問題だとおもいます。"BGpanel"が、呼び出すパネルオブジェクトです。

 >イッカ!さん
 ひとまず、全て確認してみました。これらは間違いないと思います
 お身体にはお気をつけください。

 >マッキーさん
 pに代入してるだけでした・・・パネルとスプライトは違うンですね・・・

 >うみんちゅーさん
 これで行ける! と思って、panel.drawspriteもテストとしてみたのですが、やっぱり表示されずに、原因不明になってしまいました・・・

 >NANさん
 すみません! 移し損ねでした。本ファイルの方は間違いありませんでした。
 配列もそろそろ覚えないとな、と思っていた頃です・・・パネルを使えるようになったら、挑戦してみます。
 画像をプログラムに合わせて整理する・・・とは、画像の大きさを8の倍数に合わせるようにしたりするのでしょうか?


Re: パネルオブジェクトの画像が表示されません 投稿者 : OceanLight(nthkid198002.hkid.nt.ftth.ppp.infoweb.ne.jp)
- 2009/01/21(Wed) 23:00 No.12164
 
元うみんちゅーです。


そういえば座標について注意点があったのをいい忘れてた・・・

panel.drawspliteとかの座標の設定は、通常のドロー系の設定と違います
panelの場合は(0,0)がパネルオブジェクトの左端、上端の座標なのですが、
通常のドロー系は(0,0)が画面全体の左端、上端の座標になってます。

なので、パネルに画像を表示するだけなら

width =getPatwidth (pat);
height=getPatheight(pat);
panel.resize(width ,height);
panel.drawsplite(width,height,pat);
wait();//←ずっと止めても画像は表示される
//(patは表示したい画像)

これでうまく行くと思います。


Re: パネルオブジェクトの画像が表示されません 投稿者 : 111(fl1-118-111-75-47.gif.mesh.ad.jp)
- 2009/01/22(Thu) 21:08 No.12165
 
 ありがとうございます! 直してみたら、表示されるようになりました。
 
 ただ、scaleXを使って拡大したり縮小したいのですが、どうも数値を入力しても反映されないみたいなんです。
 panel.scaleX と書いてみると、今度は定義されていないとエラーが出てしまいます・・・

 グラフィックが半分切れてしまうのですが、これもscaleXに関係しているのでしょうか?
 何も分からなくてすみません。お願いします。


Re: パネルオブジェクトの画像が表示されません 投稿者 : NaN(cc-y4106.wsr.st.keio.ac.jp)
- 2009/01/23(Fri) 19:15 No.12166
 
画像の座標は、パネル内外関係なく常に画像の中心ですので、
panel.drawsplite(width/2,height/2,pat);
これでちょうど収まると思います。

画像をプログラムに合わせて整理するというのは、画像の順番を都合よく変えるということです。
画像を別々のファイルに分散させず、ひとつのファイルにまとめ、
さらに表示したい順番で左上から並べておけば、それら連続して(まとめて)表示させるとき
for文を効率よく使えるようになるわけです。


Re: パネルオブジェクトの画像が表示されません 投稿者 : 111(fl1-118-111-75-47.gif.mesh.ad.jp)
- 2009/01/23(Fri) 22:47 No.12167
 
 なるほど、パネルは大きさを指定して、その中の座標を指して表示するんですね
 /2をしたら、ちゃんと収まる様になりました ありがとうございます!

 ・・・という事は、パネルで描画した画像を拡大することは出来ないのでしょうか?
 検索してみると、PanelChar.scaleX という項目があったので期待していましたが・・・
 他の人の作品などを見ると、copyRect という命令を使って拡大しているようです・・・、スプライトのように、拡大率の指定だけで引き伸ばすことは無理なんでしょうか?

 画像を一枚に収めると、アニメしやすくなりますね。あんまりサイズが大きくなると、なにか処理に影響しそうですが・・・


Re: パネルオブジェクトの画像が表示されません 投稿者 : Triangle Ld.(softbank219014226155.bbtec.net)
- 2009/01/25(Sun) 21:28 No.12168
 
ちょっとした都合でSuperSSからTriangle Ld.に変更させていただきました。
パネルに描いたものを拡大縮小するには、Panel.scaleXではだめです。正しくはscaleXです。
これならパネルに描いたあとでも変化します。


Re: パネルオブジェクトの画像が表示されません 投稿者 : 111(fl1-118-111-75-47.gif.mesh.ad.jp)
- 2009/01/25(Sun) 23:23 No.12169
 
 ありがとうございます! Triangle Ld.さん。
 panel.scaleXだとエラーが出てしまうので、scaleXまでは行けたのですが、何故か大きくなりませんでした。
 それで何か特殊な仕様があるのかな、と思ってましたが、ご指摘を受けていま見直したら、指定が間違ってました・・・

 ご迷惑をお掛けしました。ありがとうございました!

.
[直接移動] [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]
- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

- Joyful Note -