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

おなまえ

Eメール
題  名  
コメント(http(s)://などのURLが含まれていると投稿できないことがあります)
添付プログラム
※プログラムに関する質問は、そのプログラムを添付して送ると対応が早くできます
添付方法...
削除キー (自分の記事を削除時に使用。英数字で8文字以内)
文字色
エディタについて 投稿者 : ああああ(EAOcf-272p96.ppp15.odn.ne.jp)
- 2005/04/27(Wed) 00:21 No.8078
 


キャラが立てる地面やブロックのマップパターンを多くしすぎたことと
ジョイスティック対応の為に2倍分のプログラムを書いているので
書きすぎの為かエディタでコピー&ペーストが出来なくなりました。
解決方法を考えたのですが、うまくいきませんでした。
で、例えば、if($Joystick.〜とif(getkeyを一つにまとめる方法などはありますか?

  if (getkey(39)
  && $map.getAt(x,y)!=$pat_○○+△
  && $map.getAt(x+16,y)!=$pat_○○+×
  ){☆☆;}

  if ($Joystick.right()
  && $map.getAt(x,y)!=$pat_○○+△
  && $map.getAt(x,y)!=$pat_○○+×
  ){☆☆;}
↑これをひとつにまとめる方法はありますか?
よろしくお願いします。


Re: エディタについて 投稿者 : ごま太郎(i219-167-98-112.s02.a001.ap.plala.or.jp)
- 2005/04/27(Wed) 03:22 No.8079
  HomePage
$right  = ($Joystick.right()
  && $map.getAt(x,y)!=$pat_○○+△
  && $map.getAt(x,y)!=$pat_○○+×);

返される値は1です。このようにまとめておいた変数をフレームマネージャーやonUpdateで常に実行させておきます。
プログラムは以下のように変更できます。

if ($Joystick.right()
  && $map.getAt(x,y)!=$pat_○○+△
  && $map.getAt(x,y)!=$pat_○○+×
  ){☆☆;}

if ($right){☆☆;}


Re: エディタについて 投稿者 : ああああ(EAOcf-173p233.ppp15.odn.ne.jp)
- 2005/05/03(Tue) 02:10 No.8119
 
大変返信送れました。
ありがとうございます。おかげで助かりました!
また質問させてもらうこともあると思いますが、よろしくお願いします。

仲間 投稿者 : 初心(210-20-187-133.rev.home.ne.jp)
- 2005/04/30(Sat) 00:49 No.8104
 


また質問させてもらいます
えと仲間が2人いる状態でもう一人仲間になると最初に仲間になったやつが消えるようにするにはどうすればいいんでしょうか?
たとえばnakama1が仲間になって次にnakama2が仲間になって
nakama3が仲間になるとnakama1が消える。


Re: 仲間 投稿者 : ごま太郎(i220-109-104-170.s02.a001.ap.plala.or.jp)
- 2005/04/30(Sat) 09:00 No.8107
  HomePage
あまりに色々な方法があります。
どういう状況で、どういう形でそれを行いたいのかがまったく分かりません。
とりあえず、私は式を立てるのが苦手なので、一番初歩的な方法を紹介します。
//古典的方法.tonyu

面子=new Array();
面子.add("仲間1");//仲間1がいる
面子.add("仲間2");//仲間2がいる

while(1) {
  if (面子.size()<3) 面子. delete(0);
  update();
}

配列「面子」が仲間のメンバー表になります。
面子の数が三人になると、最初に仲間になっていたのが消えます。


Re: 仲間 投稿者 : 初心(210-20-187-133.rev.home.ne.jp)
- 2005/04/30(Sat) 11:05 No.8108
 
その方法でやるとまた仲間1が仲間になると今度は仲間2がきえるんですか?
詳しくいってなくてすいません・・・・・


Re: 仲間 投稿者 : ごま太郎(i60-42-40-156.s02.a001.ap.plala.or.jp)
- 2005/05/01(Sun) 14:48 No.8109
  HomePage
正しくはこちら
面子=new Array();
面子.add("仲間1");//仲間1がいる
面子.add("仲間2");//仲間2がいる

print ("全要素のリスト");
for (b in 面子) {
  print(b);
}

while(1) {
  if (面子.size()>2) 面子. delete(0);
  if (getkey(32)==1) 面子.add("仲間"+rnd(100));
  if (getkey(90)==1) {
    print ("全要素のリスト");
    for (b in 面子) {
      print(b);
    }
  }
  update();
}

スペースキーで、仲間が増える。
zキーで仲間の一覧が出ます。
で、8108の記事のとおりです。


Re: 仲間 投稿者 : 初心(210-20-187-133.rev.home.ne.jp)
- 2005/05/01(Sun) 18:10 No.8110
 
返信ありがとうございます!!
全要素のリストというのはなんですか?
質問ばかりですいません


Re: 仲間 投稿者 : ごま太郎(i220-220-172-58.s02.a001.ap.plala.or.jp)
- 2005/05/01(Sun) 22:58 No.8113
  HomePage
ただたんに、配列に入っているものを全てprintで書き出す際に、他のメッセージと分けて見やすくするために入れているだけです。
print("全要素のリスト");は削除してもなんら問題ありません。
ちなみに、一応書いておきますが、これは配列を利用した方法です。

参考:http://tonyu.kake.info.waseda.ac.jp/api/html/Array.html


Re: 仲間 投稿者 : 初心(210-20-187-133.rev.home.ne.jp)
- 2005/05/01(Sun) 23:59 No.8115
 
わかりました!!
いろいろとありがとうございました!!
これでうまくできそうです。

顎Ёл楸殀間ー 投稿者 : 弟遺漏の蠍(219.118.190.154)
- 2005/04/29(Fri) 17:59 No.8103
 


ページ作成で作ったのは良いんですけど
一定時間経つと自動的に次のページをロードするというのは
可能でしょうか?
そしてページをロードしたらそのロードしたページにある
全てのオブジェクトを少しの間停止するにはどうすれば良いですか?
どうか教えてください<(_ _)>


Re: 顎Ёл楸殀間ー 投稿者 : ごま太郎(i220-109-104-170.s02.a001.ap.plala.or.jp)
- 2005/04/30(Sat) 08:47 No.8106
  HomePage
まず、オブジェクト「$t」を作ります。
//time.tonyu
while(1) {
  t++;
  if (t==60*■) $projectManager.loadPage($page_●●●);
  update();
}

■には、何秒間停止させておきたいかを記入してください。
60秒停止させておきたければ「60」と書きます。
●●●にはロードさせたいページ名を入れます。
これを「一定時間経つと自動的に次のページをロード」させたいページに置いてください。

次に、ロード先にはFrameManagerを置いてください。
FrameManagerのfuntion onStart()のところに、wait(60*■)と書きます。

//FrameManagerその一
function onStart() {
  //実行開始時に行う処理を記述します
  wait(60*■);
}

//FrameManagerその二
function onStart() {
  //実行開始時に行う処理を記述します
  if ($projectManager.getCurrentPageName()=="$page_●●●")wait(60*■);
}
まあ、どっちでもいいです(笑)

その他の方法として、「$w」を使います。
//w.tonyu
wait(60*■);
die();

こっちのほうが簡単ですね^^;


Re: 顎Ёл楸殀間ー 投稿者 : 弟遺漏の蠍(219.118.190.154)
- 2005/05/01(Sun) 18:50 No.8111
 
へぇ〜そうすればいいんですね!
わかりました^^
ありがとうございました〜!

壁を貫通するよ〜! 投稿者 : 田代マ〜シ〜(YahooBB221085240176.bbtec.net)
- 2005/04/27(Wed) 22:46 No.8085
 


敵が壁を貫通させたくないのに貫通して画面外へ行ってしまいます
どうしたらいいですか?

ソース

敵のソース
extends SpriteChar;
vx=1; 
a=newAnimation(); 
a.loop($pat_zissenn+1,$pat_zissenn+2,13); 
while (1) {
  if (crashTo($player)) $player.die();
  if ($map.getAt(x+vx,y)==$pat_zissen+0 ) {
    a.pause(); 
    updateEx(2); 
    a.resume();
    vx=-vx; 
  }
  x+=vx; 
  if (vx<0) f=1; else f=0; 
  update();
}


Re: 壁を貫通するよ〜! 投稿者 : ごま太郎(i58-89-22-165.s02.a001.ap.plala.or.jp)
- 2005/04/28(Thu) 21:12 No.8095
  HomePage
こういう内容の場合、各プログラムによって細部が色々と変わってきますので、プログラムを添付することをお勧めします。
アクションって苦手なんですが、たぶんマップ関係の判定のせいでしょう。たとえば、マップの基準にする画像が違うなど。
と、寝ぼけているのでまったく関係なかったら申し訳ありませんm(_ _)m


Re: 壁を貫通するよ〜! 投稿者 : 田代マ〜シ〜(YahooBB221085240176.bbtec.net)
- 2005/04/28(Thu) 21:20 No.8097
 
Download:8097.lzh 8097.lzh
添付忘れ申し訳ありません
どうか直し方を教えてくださいマ〜シ〜


Re: 壁を貫通するよ〜! 投稿者 : N@N(actkyo069083.adsl.ppp.infoweb.ne.jp)
- 2005/04/28(Thu) 22:12 No.8099
 
7行目
  if ($map.getAt(x+vx,y)==$pat_zissen+0 ) {

  if ($map.getAt(x+vx,y)==$pat_zissenn+0 ) {
の誤りですね。
$pat_zissenだと未定義のグローバル変数になってしまいます。


Re: 壁を貫通するよ〜! 投稿者 : 田代マ〜シ〜(YahooBB221085240176.bbtec.net)
- 2005/04/29(Fri) 13:12 No.8101
 
あ・・・自分って間抜けだw
どうもありがとうございました

敵の合体 投稿者 : 初心(210-20-187-133.rev.home.ne.jp)
- 2005/04/28(Thu) 00:49 No.8086
 


敵が合体するようにするにはどうすればいいんでしょうか?
たとえばteki1とteki1(同じやつ)がぶつかったらteki1が巨大化する・・・
見たいな感じにしたいんですが・・・・


Re: 敵の合体 投稿者 : ごま太郎(i58-89-22-165.s02.a001.ap.plala.or.jp)
- 2005/04/28(Thu) 21:20 No.8096
  HomePage
え〜、相変わらず、パソが不安定なのでサンプルを添付できず申し訳ありません。
簡単かつ分かりやすい方法は、teki1とbig_teki1の二つのオブジェクトを用意します。

//teki1.tonyu
while(1) {
  for (t in $chars) {
    if (t is teki1) {
      if (crashTo(t)) {
        t.wait();
        appear(new big_teki1((t.x+x)/2,(t.y+y)/2,$pat_□□□);
        t.die();die();
      }
    }
  }
  update();
}

teki1が衝突すると、巨大さんを生んでからteki1は消えます。
ただし、普通にやると二つの巨大さんが生まれてしまうため、一応t.waitを入れることで、動作の速いほう(定義が先のほう?)が動作を行い、もう片方はwaitで止まっていることになります。
…ただし、かなり自信のないソースですのでご了承ください。


Re: 敵の合体 投稿者 : N@N(actkyo069083.adsl.ppp.infoweb.ne.jp)
- 2005/04/28(Thu) 22:05 No.8098
 
それだと自分自身もteki1なので反応してしまいますね。

while(1) {
  for (t in $chars) {
    if (t is teki1) {
      if (t!=this && crashTo(t)) {
        t.wait();
        appear(new big_teki1((t.x+x)/2,(t.y+y)/2,$pat_□□□));
        t.die();die();
      }
    }
  }
  update();
}

こちらで動作を確認しました。big_teki1もちゃんと1つだけ発生しています。

合体=ぶつかる+消える+大きいのでてくる
ですね。したいことがマニュアルにないときは、分解してみるのもひとつの筋です。


Re: 敵の合体 投稿者 : 初心(210-20-187-133.rev.home.ne.jp)
- 2005/04/29(Fri) 00:24 No.8100
 
返信ありがとうございます!
うまくできました!!

.
[直接移動] [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 -