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

おなまえ

Eメール
題  名  
コメント(http(s)://などのURLが含まれていると投稿できないことがあります)
添付プログラム
※プログラムに関する質問は、そのプログラムを添付して送ると対応が早くできます
添付方法...
削除キー (自分の記事を削除時に使用。英数字で8文字以内)
文字色
砲の先からの発射 投稿者 : tava(205.55.44.61.ap.yournet.ne.jp)
- 2006/12/19(Tue) 17:28 No.10627
 


Download:10627.lzh 10627.lzh お久しぶりです。
最近Tonyuをさわってなかったので、今日久しぶりにさわってみました。
ずっと前に作ろうとしてたモノは延期にして何か単純なゲームでも・・・。
と思いまして、ミサイル避けゲームでもつくることにしました。

そこでごま太郎さんの砲台サンプルを使わせてもらって回転砲台と追尾ミサイルをつくりました。
砲の先から撃つ事まではかなり前に教えてもらったことで一応動いたのですが、よくよく見ると発射位置がホント微妙ですが、ズレてるんですよねぇ・・・。
納得いくようにピッタリとはいきませんでしょうか・・・。
試行錯誤を繰り返したのですが悪化するだけだったのでどなたか良い方法を教えていただけないでしょうか。

添付ファイルは一番動きのマシなものです。
よろしくお願いします。


Re: 砲の先からの発射 投稿者 : ラディ(ZE187236.ppp.dion.ne.jp)
- 2006/12/19(Tue) 22:56 No.10629
 
そちらの言うズレが何なのか分からないので推測になりますが、

フレーム開始

砲弾発生

砲台のangle増減

表示

となるので砲台のangle増減分だけズレるということかな?
これならば砲弾発生と砲台のangle増減のプログラムの順番を入れ替えるだけで解決できるかと。

とは言え現状でもほとんど気になりませんが。


Re: 砲の先からの発射 投稿者 : tava(205.55.44.61.ap.yournet.ne.jp)
- 2006/12/19(Tue) 23:17 No.10630
 
んと、止まって見ると少しだけ砲台から見て右よりから撃ってるような感じになったりするんですよね・・・。
ある角度では普通に撃ってるけど、ほかのある角度ではズレてる、という感じです。
微妙な角度・・・なんでしょうかねぇ。


Re: 砲の先からの発射 投稿者 : 昔の人(actkyo122042.adsl.ppp.infoweb.ne.jp)
- 2006/12/20(Wed) 00:34 No.10632
 
tama1の初速度(s=6;)を大きくすると、ずれも大きくなりました。

問題は、tama1が作成されて1フレーム目のtama1のangleです。
e1でappearにより出現させた時はangleを省略していますから、tama1が作成されたフレームのtama1のangleの値は0になります。
その状態で
x+=cos(angle-90)*s; y+=sin(angle-90)*s;
が実行され、そのあと方向修正が入りますから、tama1は最初の1フレームだけ真上に移動していることになります。

せっかくe1からapp.t=angle;で角度を提供しているのですから、
tama1のwhileループ前に
angle=t;
と書いて、位置計算前に反映させてしまいましょう。

余談ですが、標準のangle()関数は誤差が大きいです。
e1のangle()を$Math.angle()にすることでより正確に自機を向きます。 


Re: 砲の先からの発射 投稿者 : tava(44.107.113.221.ap.yournet.ne.jp)
- 2006/12/21(Thu) 21:50 No.10635
 
ラディさん。昔の人さんアドバイスありがとうございます。
プログラムの順番を書き換えて、発射時に動作を一時停止させることでとてもよくなりました。
ありがとうございました。

ききたいことが… 投稿者 : chocobu(ntngno067197.ngno.nt.ftth.ppp.infoweb.ne.jp)
- 2006/12/16(Sat) 18:09 No.10613
 


Download:10613.zip 10613.zip 今、ダンジョン系ゲームを作っています。
↑↑がそれです。

聞きたいことは、
2つ以上のマップでいけない所を作る

相手の動き(Enemy)を、32ドットずつ自機(Danzyon_Mychar)に近ずけていく
です。
よろしくお願いします


Re: ききたいことが… 投稿者 : chocobu(ntngno067197.ngno.nt.ftth.ppp.infoweb.ne.jp)
- 2006/12/17(Sun) 10:05 No.10616
 
あ!!もう一ついいですか

HPとLVの動きです。
いつも画面の上に表示するようにしたいのですが
まったく考えが浮かびません。どうしたらよいのでしょう…


Re: ききたいことが… 投稿者 : ごま太郎(i60-47-202-48.s02.a002.ap.plala.or.jp)
- 2006/12/17(Sun) 19:46 No.10618
 
Download:10618.zip 10618.zip >>2つ以上のマップでいけない所を作る
がよく分からないんですが、mycharに書いてあるmapgetを駆使すればできるはずです。少し動作は変ですが、すでに実装されているような…?
もう少し詳しくお願いします。

>>相手の動き(Enemy)を、32ドットずつ自機(Danzyon_Mychar)に近ずけていく
こんな感じです。
こういう動きはローグライクと言ったりするんですが(私だけ?^^;)、主人公が一歩動いたらほかのオブジェクトを一歩移動可能にします。ほかのオブジェクトが動作し終わったら、また主人公が移動できるようになります。

>>いつも画面の上に表示するようにしたいのですが
$viewXは、画面の左端のワールドX座標を記録しています。
$viewYは、画面の上端のワールドY座標を記録しています。
詳しくはトップページからいけるサンプルページ? シューティングの解説をしているページの説明をご覧ください。
よーするに、$viewX+○;$viewY+□ってやっとけば、常に画面の(○,□)の座標にそれが表示されるわけです。

全体に、かるーくプログラムを入れたので、動作はところどころ変です^^;


Re: ききたいことが… 投稿者 : 昔の人(cc-h7032.hc.cc.keio.ac.jp)
- 2006/12/18(Mon) 15:25 No.10619
 
画面の上に表示を固定する方法は、レシピ→カテゴリ「スクロール」にも載っています。
せっかくの多機能ツールですから、すべての機能を一度は触ってみてはいかがでしょうか。


Re: ききたいことが… 投稿者 : chocobu(ntngno067197.ngno.nt.ftth.ppp.infoweb.ne.jp)
- 2006/12/18(Mon) 17:53 No.10622
 
2つ以上のマップでいけない所を作る…
自己解決しました。
(ただの、うっかりミス)


Re: ききたいことが… 投稿者 : chocobu(ntngno067197.ngno.nt.ftth.ppp.infoweb.ne.jp)
- 2006/12/18(Mon) 18:05 No.10623
 
それと、もう一つです。

オブジェクトが、通り抜けてしまいます。手前で止まるようにさせるにはどうしたらよいのでしょうか…?


Re: ききたいことが… 投稿者 : chocobu(ntngno067197.ngno.nt.ftth.ppp.infoweb.ne.jp)
- 2006/12/18(Mon) 18:08 No.10624
 
すみません書き足りませんでした。

オブジェクトとオブジェクトがです。


Re: ききたいことが… 投稿者 : ごま太郎(i222-150-115-181.s02.a002.ap.plala.or.jp)
- 2006/12/19(Tue) 09:42 No.10625
 
えと、ようするに、オブジェクトがとなりにあるかどうかを判定すればいいわけです。

やり方は二つあって、まずは座標で計算する方法。自分の座標+32のところに敵オブジェクトがあれば、となりにいるということです。そのときは移動処理をしないようにすればいいです。

次に、マップ座標(ttp://www4.atwiki.jp/gomatarou/pages/20.html)を使う方法です。以前は座標を使っていたんですが、今は私はこちらを利用しています。理由は色々ありますが、圧倒的にプログラムし易くてプログラムが分かりやすいからです。だいたいのRPGプログラミングの本でもこちらを利用しています。

ここらへんはちょっと難しい内容なので、うちのHPの講座を見てみてください(ttp://gomatarou.hp.infoseek.co.jp/out/rpg_hokou.zipがサンプル。ttp://www4.atwiki.jp/gomatarou/pages/11.htmlが書きかけで今回はあんまし役に立たない講座)。

サンプルの例ではマップとのあたり判定しかしていませんが、キャラクターとのあたり判定をする場合、それ専用の二次元配列を用意します。サイズはマップと同じです。
キャラクターがいて移動できないマップ座標には1などと入れておいて、移動できるところは0にしたりします。
あとはマップ取得と同じように、上下左右のキャラクターとのあたり判定をチェックします。
今の説明では分からないと思いますが、マップ座標を使う場合はまずはマップのあたり判定から必要ですし、すぐに詳しいサンプルがほしいようでしたら、後ほど上げる…こともできる…かな?^^;

今は旧アップ板の検索リンク機能が死んでいるので使いづらいですが、古いTDRCのプログラムからちょこちょこ見ていただけると、同じ悩みを解決する方法が色々見つけられます笑


追記 投稿者 : ごま太郎(i60-47-200-214.s02.a002.ap.plala.or.jp)
- 2006/12/19(Tue) 18:36 No.10628
 
ちなみに、昔の人さんのご紹介してくださった方法は、対象のオブジェクトをスクロールの影響から除外するもの。
私の方法は、スクロールしても視覚的には同じ位置にあるというもの。

私の方法は、update()との位置関係に気をつけないと少し変な動作をします。今回のようなテキストを表示するだけのオブジェクトであれば、昔の人さんの書いたレシピを使う方がいいでしょう。


Re: ききたいことが… 投稿者 : chocobu(ntngno067197.ngno.nt.ftth.ppp.infoweb.ne.jp)
- 2006/12/20(Wed) 15:42 No.10633
 
あの、ttp://www4.atwiki.jp/gomatarou/pages/20.html
のページはできたんですけど、
ttp://gomatarou.hp.infoseek.co.jp/out/rpg_hokou.zip
このページは、できません…


Re: ききたいことが… 投稿者 : ごま太郎(i60-47-198-58.s02.a002.ap.plala.or.jp)
- 2006/12/20(Wed) 21:04 No.10634
 
Download:10634.zip 10634.zip あ、すみません、サンプルのは移動だけでしたね^^;
マップのあたり判定については講座のほうのサンプルをご覧ください(ttp://www4.atwiki.jp/gomatarou/?cmd=upload&act=open&pageid=11&file=howtorpg_exe.zip)。

で、私が書いていたのはこういうことです(添付ファイル)。

改行 投稿者 : R.Sato(61.126.88.206)
- 2006/12/08(Fri) 15:59 No.10595
 


こんにちは、R.Satoです。テキストの改行についての質問
です。

改行を行ったとき、某育成ゲームみたいに書いてある文字
を1つ上の行に移動したいのですが、出来ますか?


Re: 改行 投稿者 : タコチュウ(謎)(KD124210095214.ppp-bb.dion.ne.jp)
- 2006/12/08(Fri) 20:00 No.10596
 
1行ごとにテキストオブジェクトを作って
(最大三行の場合)
新しい文字列がきたら
1行目.text="2行目のテキスト"
2行目.text="3行目のテキスト"
3行目.text="新しい文字列"
みたいにすれば表示できると思いますよb


Re: 改行 投稿者 : 昔の人(actkyo078094.adsl.ppp.infoweb.ne.jp)
- 2006/12/08(Fri) 22:14 No.10597
 
タコチュウさんの方法では、会話のたびに全ての行の文章を設定しなければならなくて、プログラムの長さが大変になってしまいますね。
一行をテキストオブジェクトにするならば、
1行目.text=2行目.text;
2行目.text=3行目.text;
3行目.text="新しい文字列";
とすれば、会話を追加する時は"新しい文字列"を書き換えるだけですみます。

行を多くすると、会話のたびに5行目.text=6行目.text;……と書かなければならず、長くなりますので、関数にしてみてはどうでしょうか?
function talk(txt){
 1行目.text=2行目.text;
 2行目.text=3行目.text;
 3行目.text=txt;
}
と文頭に書いておけば、talk("新しい文字列");と書くだけで行送りと文章の追加を自動で行ってくれます。

会話の窓が出たり消えたりする場合は、パネルに収めたほうが便利です。
この場合、配列を使ったテクニックが必要となります。

なお、変数"1行目"、"2行目"、"3行目"がそれぞれの行のテキストオブジェクトを指定していることが前提です。


Re: 改行 投稿者 : タコチュウ(謎)(KD124210095214.ppp-bb.dion.ne.jp)
- 2006/12/09(Sat) 20:38 No.10598
 
あたしかにダブルクオで囲ってたからこれじゃ文字列ですよね
一応ノリ的には昔さんとおなじようなノリだったんですけど(^^;)
(そういえば某育成ゲームってなんだろ ヨウカイザーか?)


Re: 改行 投稿者 : R.Sato(61.126.88.206)
- 2006/12/12(Tue) 15:55 No.10605
 
返信遅れてすいませんでした。
全体的に何となく分かるんですが、少ししっくりきません。
もうちょっと詳しく解説してくれるとありがたいんですが。

ちなみに僕が言ってる某育成ゲームは『コナミ』のやつ
です。(パ○プロクン)


Re: 改行 投稿者 : ごま太郎(i220-221-58-114.s02.a002.ap.plala.or.jp)
- 2006/12/12(Tue) 19:24 No.10606
 
Download:10606.zip 10606.zip えっと、今は時間がないので突貫工事です^^;
これはあんまし賢いやり方ではありません。しだいにパネルのサイズが大きすぎて動作速度が激減します。
ただ、このやり方が一番簡単で、もうちっといいやり方はちょっと面倒くさいです。

会話テキストを配列に保存。
配列の最後部から表示する行数だけ画面に描写準備。
このとき、表示するテキストの改行による行数の変化を変数で記録しておき(サンプルで言うと変数「行数」)、それに応じて実際に描写する行数を減らして調節。

てな感じです。
時間があればサンプルを作る…かも? デス。ではでは!


Re: 改行 投稿者 : R.Sato(61.126.88.206)
- 2006/12/13(Wed) 16:02 No.10608
 
ごま太郎さんありがとうございます。
一応、僕はキャラとの会話が終わるとそのパネルをいったん消す方針なので、重くなるというのは問題ないでしょう。

後は文字をぱらぱら流しつつ、ごま太郎さんの方法を試しま
すが・・・さて、うまくいくか正直不安ですが、がんばってみます。


Re: 改行 投稿者 : タコチュウ(中)(KD124210095214.ppp-bb.dion.ne.jp)
- 2006/12/14(Thu) 00:43 No.10609
 
パワ○ロですか
ワ○ルドスタジアムの分身君みたいな奴ですね(例が微妙)
しかしやはりゴマさんのサンプルはいかしてますね
無駄がないというかプログラムっぽいというか
拙者はここ数年いろんなプログラミング言語をやってるのに
基本的なソースの書き方もわかってないんですよね;
(そして自分で書いたソースが次の日には読めなくなっている…)

MIDI再生の遅延について 投稿者 : hirotow(p1232-ipad14kamokounan.kagoshima.ocn.ne.jp)
- 2006/12/10(Sun) 17:54 No.10599
 


こんにちは。
現在Tonyuでジャンプアクションゲームを作っているのですが、$mplayerでMIDIを再生する際に、処理を行ってから実際に再生されるまでに数秒の間が空いてしまいます。
実際の処理は、再生する音楽ごとに以下のようなsecretオブジェクトを作成し、ステージに貼り付けて実行しています。

extends SecretChar;

$mplayer.play($se_xxxx,1,50);

while(1)
{
  update();
}

どうすればすぐに再生されるようにできるでしょうか?


Re: MIDI再生の遅延について 投稿者 : BISS(i222-150-24-71.s02.a005.ap.plala.or.jp)
- 2006/12/10(Sun) 19:52 No.10600
 
こんにちは。
リスクが伴いますが、ver1.18を利用するという手があるにはあります。

更新履歴1.18
MIDIの演奏前の待ち時間を削減

リスクというのは

1.18には、MIDIの演奏中に強制終了になるエラーがあります。

というもの。
(1.18は使ったことがないのでどの程度の確率でエラーになるのか分かりませんが)
なのでMIDIの早期再生は恐らく皆の悩みの種かと・・。
強いて案を出すなら、
1:「FrameManager」で、ゲーム開始前処理の部分に再生のプログラムを書く
2:最初のページで何かMIDIを再生しておく
(MIDIの再生時はTonyuMIDIというものが起動するようなので、あらかじめこれを起動させておけば演奏開始が早くなるかも)
3:ページ切り替え時にエフェクトを入れて"間"を入れる

これくらいでしょうか。


Re: MIDI再生の遅延について 投稿者 : hirotow(webgwf1.kagoshima-ct.ac.jp)
- 2006/12/13(Wed) 12:51 No.10607
 
ありがとうございます。
現在最新版の1.22を使用しているのですが、ランタイムの起動時にどちらを使用するか選択できるようにしようかなと思います。

お久しぶりです。 投稿者 : DEKA(softbank219172248030.bbtec.net)
- 2006/12/06(Wed) 18:33 No.10592
 


パソコンが故障して一時作業が中断していました。
その後復帰、順調に進んでいたのですがまた問題が…


例えば
  if (getkey(39) && $map.getAt(x+16,y)!=$pat_brock+0) {
x+=3;
     f=0;
  }
  // ↑ カーソルキー右が押され、さらに右側が壁でなければ右へ移動

こんな文があったとして、
この文だと壁が一種類しか判断できないです。2つ以上の壁でこのプログラムを使うにはどうすればよいのでしょうか。


Re: お久しぶりです。 投稿者 : じんみ(nttyma039151.tyma.nt.ftth4.ppp.infoweb.ne.jp)
- 2006/12/06(Wed) 18:38 No.10593
 
if (getkey(39) && $map.getAt(x+16,y)!=$pat_brock+0 && $map.getAt(x+16,y)!=$pat_○)
のように&&を入れれば条件の追加可能です。


Re: お久しぶりです。 投稿者 : DEKA(softbank219172248030.bbtec.net)
- 2006/12/06(Wed) 20:17 No.10594
 
ありがとうございました。無事に動きました。

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

- Joyful Note -