2013年4月20日土曜日

[mmf2]小数点が出ちゃう計算をしたい

問題発生編


こんなんをやりたかった。

((80/320)*35)+45

本当の答えはこう。

53.75

だけど、mmf2で計算させようとすると、馬鹿になってこうなる。

45


うはwwwww


これはここのwikiにも書いてある。
http://wikiwiki.jp/mmf2/?%BB%C5%CD%CD%C5%F9%BB%A8%C2%BF%BE%F0%CA%F3#qa5bdc5a


解決編


へー。
どちらかの数字に1.0を掛ければいいのか。
なのでこうしたら直った。

((80*1.0/320)*35)+45
   ↑一番最初の掛け算のところがいいみたい。


なんでこんな計算しているかというと、2つのオブジェクトの座標から計算して
結果を使おうとしてたら、どうやっても45しか返ってこねぇ。

なんでだろう?と思って、その時に出ていた値をダミーで出してみて、
さっきの計算式になってたわけです。

なんかおかしい数字になってない?と思ったら、一旦オブジェクトからX座標を取得してぇ
みたいなのは後回しにして、数字だけで期待値通りの数字が取れるか、まずはやったほうがいいですね。

問題再勃発編!!


さて、こうして 80 と 320 のところに、本来やりたかったオブジェクトの座標やらの式を入れ込んだ。

返ってきた結果が

天文学的数字wwwwwwwwww
なんでこうなんだよ!!!wwww

80  のところに入れたかった式だけにして表示しても、問題ない
320 のところに入れたかった式だけにして表示しても、問題ない

意味がわからん・・・。

本当の本当の解決編

もうね。何やっても馬鹿になっちゃう。

一つ一つが正常な数字なのに、一度に計算したら馬鹿になってしまう!!

そんな時は、一つ一つの計算結果を、どこかの変数に格納してしまおう。
んで、さっきの

((80*1.0/320)*35)+45

こいつに代入してやる。



((変数A*1.0/変数B)*35)+45

こうしたら、今度こそ解決できた。

あーーーー!!
これに1時間かけました。チャンチャン。

[mmf2]マルチタッチについて

マルチタッチオブジェクトを使ってタッチの座標を取得するときの話。

画面にボールがあって、タッチしたところにボールの位置を設定したかった。

そこで、以下のように設定したらダメだった。

条件
 マルチタッチオブジェクト:新規タッチが発生した、数字 0

 ボール
  X座標
   マルチタッチ:タッチXを取得(タッチの数 0)
  Y座標
   マルチタッチ:タッチYを取得(タッチの数 0)

こうすると、一つ前の操作時のタッチのXY座標がとれてしまうというwww
なんでだよ!!w
1テンポ遅れちゃうwww


そこで、色々試行錯誤した結果、こうしたら期待通りの動きをした。

条件
 マルチタッチオブジェクト:新規タッチが発生した、数字 0

 ボール
  X座標
   マルチタッチ:ドラッグ 始点X座標を取得(タッチの数 0)
  Y座標
   マルチタッチ:ドラッグ 始点Y座標を取得(タッチの数 0)

謎だ。

2013年4月11日木曜日

技術系のメモブログです

がなぶろ」のサーバーを管理してます。
がなぶろGamesシリーズとして、日々ショボゲー作ってます。

開発ソフトはmmf2というソフトを使っているのですが、iPhoneでの開発の参考サイトが少ない!
ノウハウやほか色んな情報をメモ代わりに載せようと思ってます。
ダラダラと。。

がなぶろ」のがなこちゃんも応援してあげて下さいませ~!
よろしくです。