Pages

2013年7月30日火曜日

Shopを作った

ゼルクだ


日曜にShopを完成させた。(リソースは無いが)

大事なところを抜き出すとこんな感じ
void OnTriggerStay(Collider c){
if(c.gameObject.tag == "Player"){
if(player == null){
return;
}
if(player.isGrounded()){
if(Input.GetButtonDown("マルボタン")){
if(wordsCount >= 2){
flagCount = 0;
}else{
flagCount = Mathf.Min(flagCount + 1,3);
}
}
if(Input.GetButtonDown("バツボタン")){
flagCount = Mathf.Max(flagCount - 1,0);
}
}
}
}
void OnTriggerExit(Collider c){
if(c.gameObject.tag == "Player"){
flagCount = 0;
}
}
// Update is called once per frame
void Update () {
Method(flagCount);
}
void OnGUI(){
if(openShop){
}
}
private void Method(int n){
switch(n){
case 0:
if(player != null)
StartCoroutine("PlayerControll",true);
DeleteText();
wordsCount = 0;
buyItem = false;
break;
case 1:
Instance();
player.isControllable = false;
break;
case 2:
DeleteText();
openShop = true;
cursorMove();
break;
case 3:
AddItem ();
flagCount -= 1;
break;
}
}

ショップ店員さんと会話中、○を押すと進んでいき、✕で戻る感じ、

問題なのは最後の「ありがとうございました~」と言われたときに○を押すとおかしな挙動になるので苦肉の策としてif文をぶち込んである。

なんかもっといい方法は無いのかなー。


そして罠も作ってみたよ。

当たり判定がまだうまく行ってないです。




アリーヴェデルチ。

2013年7月29日月曜日

申し訳ございません

完全に更新をサボってました・・・

確かにこのままでは活動日誌の意味が

ありませんね。

これからは

書かない=サボった

としましょう。


もうすぐ夏休み


夏休みに入る前のラストスパートをかけよう。


基礎を学ぶことは本当に面倒だけど

ここを超えればきっと楽しくなる。

その日が早く来るように

努力しようと思います。



絵に関しても

参考書をやるだけじゃなくて

好きなキャラを書いてみることで

続けていこうと思っています。

ちょくちょく絵も載せていきますね。


忙しい期間もおそらく今日で終わりなので

生きてきた中で1番本気を出していくくらいの気持ちで

頑張っていきます。

2013年7月27日土曜日

久しぶりの投稿

ゼルク・ハーデスだ



活動日記という名のこのブログ



全く機能していない



全く活動を残せていない



ちゃんと更新したほうが…



と思ったので頑張って書いていく。



書けない と言うことは何もしていない と同じ事だ と自分に言い聞かせるつもりで書いていこうと思う。




先々週あたりで予定表を作った。

だがはっきり言って遅れている。
言い訳をするつもりはない。何日かサボった日があるから遅れている。


といってもまだ取り返せる範囲なのでこのまま進めていこうと思う。



まだ此方もやることは多々あるので頑張っていこうと思う。


本当は昨日ショップを完成させるつもりだったのだがちょっとやることがあってできなかった。
そのため今日ショップを作っていたのだがなかなかうまくいかない。

前回の記事でGUItextを生成する方法で文字を出していこうと思ってたら無限に生成される事態に陥ってしまったり(修正したが)
なかなかいい方法が思いつかなかったり

とりあえず今日は幻影を駆ける太陽を見て頑張ろうと思います。


OPいい曲だな。


アリーヴェデルチ。

2013年7月10日水曜日

Unityで文字列を表示したい2

ゼルク・ハーデスだ。

先日の記事ではGUI.Labelを使った表示をしていたのだが使い勝手が悪いと思い変更してみた。

変更点
看板の前で○を押したらGUI Textのインスタンスを生成する。
もう一度○ または離れると生成したインスタンスを消す。


まずは看板のオブジェクトにコリジョントリガーをアタッチ
スクリプトを作成してアタッチする

public class Kanban : MonoBehaviour {
public GameObject text;
public string words = "";

private bool isEnter = false;
private KanbanText word;
private GameObject temp;
public void OnTriggerStay(Collider c){
if(c.gameObject.tag == "Player"){
if(Input.GetButtonDown("Action")){
isEnter = !isEnter;
Instance();
}
}
}
public void OnTriggerExit(Collider c){
if(c.gameObject.tag == "Player"){
isEnter = false;
Instance();
}
}
private void Instance(){
if(isEnter){
temp = Instantiate(text) as GameObject;
word = (KanbanText)temp.GetComponent(typeof(KanbanText));
word.text = words;
}else{
if(temp != null)
Destroy(temp);
}
}
}

変数名がわかりづらいですね。
text変数はGUI TextのプレハブをInspectorから指定する。
string wordsは表示する文字列だ。これもInspectorから編集できるようにする。そうすることでたくさん看板を作ってもここをいじるだけでOKだ。
フラグはテキストを出すかどうか。
wordはGUI Textプレハブにアタッチされてるスクリプトをひっぱってくる。
tempは生成したオブジェクトを入れておく変数。

OnTriggerStayでPlayerが入ってきて○ボタンを押したらフラグを切り替える。
Exitは見たまんまだ。
Instance変数でtrueならインスタンス生成+wordsを設定
falseなら削除。もし何かしらの間違いでtempがnullだったら抜けるようにしておく。


GUI Textのほうのスクリプトは以下
public class KanbanText : MonoBehaviour {
public string text = "test";
// Use this for initialization
void Start () {
}
void Update(){
guiText.text = text;
}
}
(スクリプト名は勘弁してくれ・・・)

コレで完璧!!
コレをベースにキャラクターの会話もできるかな。

もっといい方法があったら教えて欲しい・・・



アリーヴェデルチ。

2013年7月9日火曜日

Unityで文字列を表示したい

ゼルク・ハーデスだ。


看板など○ボタンを押したら文字が表示できるようにしたい。


そこで考えた
GUI.Labelをつかうかguitextを使うか。

textの方はどうやらフラグで表示、非表示ができないみたい。(多分)

Labelの方はできる。しかし真ん中に合わせて文字表示ができない(伝わるかな・・・)
サイズの変更もいまいちよくわからない。


GUIはなんだか苦手だなー。


まぁ看板のタスクが明日までなのでなんとかする。



いま書いてて思ったんだけど、
看板の前で○ボタンを押した時にtextのスクリプトをアタッチしているオブジェクトを生成すればいいんじゃないか?と思った。(敵がアイテムを落とすのと同じ原理)


これは使えそうだ。


それでは早速やってみようと思う。



最近モネの活動報告が無いので不安だが頑張ってもらわねば俺1人で完成するゲームじゃないしな…


まぁちゃんと予定表も書いてたし大丈夫だとは思うが。


アリーヴェデルチ。

2013年7月7日日曜日

MonoDevelopが起動しない時の改善方法

ゼルク・ハーデスだ。


今日から予定表通りの仕事になるので
Unityを開いてスクリプトを編集しようとUnityからMonoDevelopを開こうとした。

そしたら砂時計が一瞬出るもののMonoDevelopが起動しない。

どうしたのかと思いMonoDevelopを直接起動。


すると
System.EntryPointNotFoundException: Unable to find an entry point named 'gtksharp_list_get_data' in DLL 'glibsharpglue-2'.
こんな感じのエラーが出る。(忘れたが私の時はちょっと違ったかな)

「MonoDevelop 起動しない」
で調べてもいい改善方法が得られなかった。

unity4.15にしろ。とか出てきたがすでに4.15だったしインストールもやり直した。が、無理だった。

検索ワードをちょいちょい変えるとあるサイトに行き着いた。


テラシュールウェア
(ディープリンクすいません)

アプリ開発のチームなのかな?

このページに書かれた通りにすればMonoDevelopが起動できるようになった。ありがとうございます。


稀に発生する現象らしいけどどうしてこんなにも私は運が無いんだろうか。


まぁとりあえずは作業できるようになったのでやっていこうと思う。


それでは熱中症には気をつけて


アリーヴェデルチ。

2013年7月6日土曜日

暑い

ゼルク・ハーデスだ。


木曜日にモネと少し通話をして、今日の夜までに予定表を作ろう。ということになった。

必要な物を洗いざらいにしてみたけど


これ、間に合わなくね?



となった。


必要な物が意外と多い。
3Dモデルが最低4個ぐらい、UIも必要だしモーションも必要。
サウンドも必要だ。


リソース面はモネに頑張ってもらうしか無いのだが・・・
サウンドは拾ってくれば私でもなんとかなりそうだけど。



とりあえずUnityのほうの予定表は完成した。

あと、バイオみたいなものも平行して作っていくという形になった。


ぶっちゃけバイオみたいなもののほうがショップとか作る気は今のところ無いので簡単そうだ。(ライティングとかエフェクトとかアニメーションの補間とか調べなきゃならんけど。そう考えると簡単でもなさそうだ)


まぁ夏休みもあるし時間はまだある。



ただ何度も言ってるけどCEDECまでにはなんとか見せれるようなものを作りたいね。



さて、今日はvitaのサンプルを作って、明日は早速予定表通りに動いてみようと思います。




アリーヴェデルチ。