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

おなまえ

Eメール
題  名  
コメント(http(s)://などのURLが含まれていると投稿できないことがあります)
添付プログラム
※プログラムに関する質問は、そのプログラムを添付して送ると対応が早くできます
添付方法...
削除キー (自分の記事を削除時に使用。英数字で8文字以内)
文字色
マウス操作で… 投稿者 : Fel(p2174-ip03sasajima.aichi.ocn.ne.jp)
- 2009/05/01(Fri) 01:25 No.12327
 


プログラミング初心者なので初歩的な質問になってしまいますが、
マウスをクリックした時に自キャラがマウスカーソルの方へ飛んでいくようにするにはどうすればいいのでしょうか?


Re: マウス操作で… 投稿者 : Triangle Ld.(i218-47-199-58.s06.a011.ap.plala.or.jp)
- 2009/05/01(Fri) 16:00 No.12328
 
こんな感じでしょうか。
extends SpriteChar;  //お約束

mx = 0;  //マウスX座標
my = 0;  //マウスY座標
while (1){
  if (getkey(1) == 1){
    //画面上で左クリックされたとき
    mx = $mouseX;
    my = $mouseY;
  }
  a = $Math.angle(mx-x, my-y);
  x += cos(a);
  y += sin(a);
  update();
}
と、三角関数cos,sinを使います。
$Math.angleのところは本来angleでもいいのですが、Mathのangleのほうが
精度がいいようなのでこちらを使いました。
$mouseX,$mouseYはマウスの座標です。
これはスクリーン座標というもので、マップのスクロールには影響しないです。
もし自機をスクロールさせるなら、以下のようにするといいです。
$Math.angle(mx-x, my-y);
         ↓
$Math.angle(($viewX+mx)-x, ($viewY+my)-y);
以上、長い説明でした。
我慢してじっくり読んでください。


Re: マウス操作で… 投稿者 : Fel(p10197-ip02sasajima.aichi.ocn.ne.jp)
- 2009/05/01(Fri) 23:50 No.12329
 
ありがとうございます!参考にさせていただきました。
一応基本的な部分は掴めたのですが、自分で色々といじってみても分からない部分があったので、恐縮ですが再度質問させていただきます。

現在サイドビュー型のアクションを制作しているのですが、マウスカーソルの地点まで移動するのではなく、カーソルの方向へちょっとだけ跳ぶ感じにするにはどうしたらいいのでしょうか?
また、移動する方向によってキャラクタの絵を変えるにはどのようにすればいいのでしょうか?(真上へ移動する時はジャンプする絵に、横へ移動する時はダッシュする絵に、という感じです)

質問ばかりで本当に申し訳ありません…m(_ _;)m


Re: マウス操作で… 投稿者 : Triangle Ld.(softbank219014226155.bbtec.net)
- 2009/05/02(Sat) 00:13 No.12332
 
こういう系のプログラミングの基礎は、「変数」と「制御文(if•whileなど)」です。
>キャラの絵を変える。
変数pをつかいます。
アニメーションさせるならAnimationAdaptor(アニメーションの道具)を事前にanimなどに用意して、
anim.loop(最初のパターン,最後のパターン,速さ);
anim.swing(最初のパターン,最後のパターン,速さ);
とします。
というよりここらはプロジェクトボードにある作品たちをみて、それで中身を拝見させてもらえればいいとおもいます。
>マウスカーソルの方向にすこしとぶ
うーん...こんなかんじですかね。
No.12328より
省略
a=$Math.angle(mx-x,my-y);
x+=cos(a);
vy=-sin(a)*7;
if($map.getAt(x,y+16)==-1){
  vy+=0.4;
}
y+=vy;
あと分からないところはヘルプとにらめっこして解決してください。それでもわからなかったら質問するようにしましょう。
実際私がその例なので。


Re: マウス操作で… 投稿者 : Fel(p1011-ip03sasajima.aichi.ocn.ne.jp)
- 2009/05/02(Sat) 12:22 No.12335
 
ありがとうございます。
「変数」と「制御文(if•whileなど)」が基礎、ということは理解しているつもりなのですが、テクニックというか、応用の仕方がなかなか思い付かないです…プログラミングって本当に難しいです。
マウス関連も難しいですね。初心者には敷居が高すぎるんでしょうか…

今更ながら、質問を連発した自分に自己嫌悪しています…
他人に頼りすぎてしまっていたような気がします。
こういうことはもっと自力でやるようにしたほうがいいですよね。
質問に丁寧に答えてくださったTriangle Ld.さんに感謝します。

無題 投稿者 : k(p1163-ipbf14okayamaima.okayama.ocn.ne.jp)
- 2009/04/17(Fri) 23:37 No.12319
 


初歩的なのですが、
回転する真ん中を端にする方法が分かりません・・・
どうするのでしょうか?


Re: 無題 投稿者 : イッカ!(p1077-ipbf3203hodogaya.kanagawa.ocn.ne.jp)
- 2009/04/18(Sat) 16:52 No.12320
 
こんな感じです(´ω`)
簡単な方法があるかm(ry

x=$ScreenWidth/2;     //初期のX座標。
y=$ScreenHeight/2;    //初期のY座標。
cx=x-getWidth(p)/2;   //回転の中心のX座標、この場合は画像の左端。
cy=y-getHeight(p)/2;   //回転の中心のY座標、この場合は画像の上端。
a=1;  //回転の速さ。
while(1) {
  $Math.roll(x,y,a,cx,cy);
  angle+=a;
  x=$math.rx;
  y=$math.ry;
  update();
}


Re: 無題 投稿者 : k(p1163-ipbf14okayamaima.okayama.ocn.ne.jp)
- 2009/04/19(Sun) 11:57 No.12321
 
できました!
ありがとうございますm(__)m


Re: 無題 投稿者 : Triangle Ld.(softbank219014226155.bbtec.net)
- 2009/04/25(Sat) 21:13 No.12322
 
補足:
getHeightには引数はありません。
pを引数とするのはgetPatHeightですが、これはgetHeight内から呼び出されているので、ほとんどつかうことがないとおもいます。
getWidthも同様です。


No.12320訂正版 投稿者 : Triangle Ld.(i218-47-199-58.s06.a011.ap.plala.or.jp)
- 2009/04/27(Mon) 15:56 No.12324
 
extends DxChar;           //これで回転ができる。
//↑回転しないときはSpriteChar
rx=x-getWidth()/2;  //左端
ry=y-getHeight()/2; //上端
a=1;                //回転の速さ
while(1){           //永久ループ
  angle+=a;         //angleにaを足す
  x=rx+cos(angle);  //端座標にangleの余弦を加える
  y=ry+sin(angle);  //端座標にangleの正弦を加える
  update();         //描画
}                   //戻る
rx=x+getWidth()/2;にすると右端
ry=y+getHeight()/2;にすると下端
になります。
x=rx+cos(angle);
y=ry+sin(angle);
のところが怪しいですが(苦笑)。

海外のOS上で・・・? 投稿者 : 111(fl1-125-198-145-88.gif.mesh.ad.jp)
- 2009/04/08(Wed) 21:05 No.12315
 


 少し疑問が浮かびましたので、質問させてください。
 Tonyuを海外の人にプレイしてもらう事は可能でしょうか?
 おそらく日本語のフォントが問題になると思うので、日本語は使わないとして、他になにか問題が発生するのでしょうか?

 分かる方おりましたら、推測でもかまいませんので、教えてください。お願いします。


Re: 海外のOS上で・・・? 投稿者 : イッカ!(p1077-ipbf3203hodogaya.kanagawa.ocn.ne.jp)
- 2009/04/09(Thu) 01:41 No.12316
 
分かりませんが推測としては、特に無いと思います。
国によって計算の答えが違うということは無いですし。
多分、日本語の変数とかも…使える…か…な(


Re: 海外のOS上で・・・? 投稿者 : 111(fl1-125-198-145-88.gif.mesh.ad.jp)
- 2009/04/11(Sat) 00:56 No.12317
 
 分かりました、ありがとうございます。
 なにかプログラムで作られた作品でも海外のOSだと動かない? という様な事を聞いたもので、心配になったのです。

 もし実際に試した例が分かりましたら、ここに報告したいと思います。ありがとうございました。


Re: 海外のOS上で・・・? 投稿者 : Triangle Ld.(i218-47-199-58.s06.a011.ap.plala.or.jp)
- 2009/04/27(Mon) 15:47 No.12323
 
翻訳システムはTonyu本体に内蔵してあるので、
Tonyuが動くならどんなPC・OSでも動きますよ。
海外のOSだと日本語メニューが恐ろしいほど文字化けする
ので、Kernel内のmessage.iniを削除すれば正常に動くんじゃ
ないのでしょうか。

ホームページに貼り付け 投稿者 : ふふふ(softbank219168222142.bbtec.net)
- 2009/04/07(Tue) 14:46 No.12310
 


作ったゲームをサイトのページに貼り付けて、そこでゲームができるようにできますか?


Re: ホームページに貼り付け 投稿者 : イッカ!(p1077-ipbf3203hodogaya.kanagawa.ocn.ne.jp)
- 2009/04/07(Tue) 21:57 No.12311
 
Tonyuはランタイムを作成し、できたPlayer.exeを起動しない限りゲームはできません。

ブラウザゲームを作るなら、フラッシュやJavaを使えばできますよ。


Re: ホームページに貼り付け 投稿者 : ふふふ(softbank219168222142.bbtec.net)
- 2009/04/12(Sun) 00:16 No.12318
 
ありがとうございました。

FPSの取得 投稿者 : Triangle Synth Lead.(softbank219014226155.bbtec.net)
- 2009/04/08(Wed) 17:40 No.12312
 


TonyuでFPSをもとめることは出来ないでしょうか。
FPSを求めるために、システムタイマーをつかおうと思ったのですが、できませんでした。


Re: FPSの取得 投稿者 : イッカ!(p1077-ipbf3203hodogaya.kanagawa.ocn.ne.jp)
- 2009/04/08(Wed) 18:53 No.12313
 
(記事No.2953に書いてあるプログラム)
extends TextChar;
function onDraw() {
  fps++;
}

while(1) {
  fps=0;
  wait(60);
  text=fps;
}

これでFPSを表示できるらしいです。


Re: FPSの取得 投稿者 : Triangle Synth Lead.(softbank219014226155.bbtec.net)
- 2009/04/08(Wed) 19:34 No.12314
 
おぉ!こんなので表示できたのですか!
いままでの苦労は一体...

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