All Field Busterできました。


途中経過報告したブロック崩しですが、完成しました。
前回の課題こなした報告といくつか引っかかった部分もあったのでその辺の記録です。

twitterの投稿機能

unityroomのゲームで遊んでいると、
ランキングがあったり、twitter投稿機能があったりしていいなーと。
で、情報を探していると、発見しました。

見つけたものをそのまま実装すると・・・

「このページは承認されていないソースからのスクリプトを読み込もうとしています」


どうやらSSL対応のサイトからのリンクはSSLじゃないとダメみたい。
対応はhttpをhttpsに変えるだけ。
unityroomがSSL対応しているけど、httpだと対応していないから警告が出たみたい。
ところが、これだけじゃすまなかったんです。
修正してアップロードすると、エラーはでないんですが、tweetできない。
結論としてはnaichiさんが作ったパッケージを使うことで解決できました。

どうもiframeが影響しているらしく、このパッケージを使うと行けました。
以前、自分のページにunityを載せたときはiframeを使ってたので
今後、載せるときにはなんらかの手を打たないといけないのかなーと思っています。

音量対策

ボールのOnCollisionEnterに衝突音を付けました。
実際にプレイしてもらうとわかるんですが、衝突が同時多発します。
そのため、音量がかなり大きくなるんです。
そこでしたのは2つ。

  • 全体の音量を制限
  • 音の発生時間を短縮

1つ目は、同時に発生している衝突の数によってコントロールしてます。

衝突音を複数発生させるために、音発生用のprefabを作っています。
prefabを親オブジェクトに入れて、子オブジェクトの数によって音量が変わるようにしました。
2つめは、音の発生時間なんですが、使用した音が音量が山型なんです。
上のスクリプトで単純に制限していくと必要以上に音が小さくなります。
なので、尻尾のほうを切る形で音の発生時間を制限してます。
全体の音量をAudioSourceで得られるみたいのなので、
チャンスがあればそれによってコントロール出来たらいいなと思っています。

ポイント計算方法

前回悩んでいたポイントの計算方法。
$$point=\frac{coef}{Time \times BallCount \times (a-maxBall)}$$
基本的に前回と同じです。
ただし、同時に使ったボールの数が少なければ少ないほどポイントが上がるようにしました。

まとめ

とりあえず完成しましたが、モバイル対応はこれから。
そもそもプレイ時間が短すぎるっていう問題があるので悩み中です。
3段階くらいのレベル作ってポイント調整するのもあるかなと思っています。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

トップへ戻る