2014年1月5日日曜日

unityをまたいじっている

試作追いかけシステム

馬車を剣士が追いかける。

ドラッグドロップで場所移動



このなんか良く分からんスクリプト間の値のやり取りのやり方をうまい事理解できると結構簡単。

using UnityEngine;
using System.Collections;

public class follow : MonoBehaviour {
private GameObject leader;
private float follow_speed;

// Use this for initialization
void Start () {
this.leader = GameObject.FindGameObjectWithTag("leader");
follow_speed = (float)this.GetComponent<parsonal_parameter>().walk_speed;
}

// Update is called once per frame
void Update () {

Vector3 velo = this.leader.transform.position - this.transform.position;

if(Vector3.Distance(this.leader.transform.position,this.transform.position) > 1.0f){
this.rigidbody.velocity = velo.normalized * follow_speed;
}else{
this.rigidbody.velocity = Vector3.zero;
}
//this.rigidbody.velocity = velo.normalized * 2.0f;

}
}

追いかけるところ。
this.leader = GameObject.FindGameObjectWithTag("leader");
ここと
follow_speed = (float)this.GetComponent<parsonal_parameter>().walk_speed;
ここがめんどっちい。
なんか特殊な関数使ってゲーム内のオブジェクトを区別して値を呼び出してるっていうイメージ。



using UnityEngine;
using System.Collections;

public class parsonal_parameter : MonoBehaviour {

public double walk_speed;

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}
}

キャラの持ってる数値。
まだ速度だけ。

2013年12月7日土曜日

MMO風ゲーム内ウィンドウについてのお話

頑張ろう頑張ろうと思いつついたけどついに続行を諦めつつあるゲーム(今を生きる(仮))ですが、このままHDDの肥やしにするのも、またPCがクラッシュしてデータが飛んでしまって二度と回収できなくなるのももったいないので、個人的に頑張ったと思う点について書こうと思います。

あと、就活に使えたらいいなあとも思います。


さて、今を生きる。ですが、元々はあの最古参MMORPGであるultimaonlineをベースにして作っておりました。


これが最新版のゲーム画面になるわけですが、

どのへんをまねしていたのか、と言うと、上の画像のあたりだと思います(ほかにもあるかも)
ゲームコンテストに出しちゃったけど、ひょっとしたらこれ、パクリだからどうにもならなかったのかもしれませんね・・・
個人的にはultimaonlineとは違う点もある!と思ってるんですけども。


という紹介を済ませて、

じゃあ、一回目ですが。
タイトルにあります通り、ウィンドウシステムについてのお話をすることにします。



2012年8月9日のウィンドウを消せるようになった!!

にて確認できますが、ウィンドウを作るのが一番最初に作った難しい部分でした。


このゲームは、高専で培った技術の集大成を作ろうと思って作り出したゲームでして、
今までの俺の技術があれば出来る!とおもって、特になんかゲームの作り方とか読まなかったので、
熟練のMMORPG作成者の方とかが見たら、ちゃちい作りすぎて鼻で笑われてしまうかもしれませんが、まあ、頑張ったところ、書こうと思います。


ウィンドウですが、これは線形リストを用いて実装しました。

こんなかんじ。


基本的な機能は次の2つです。
 ・ 描画される。
 ・ ドラッグ→ドロップできる。


まず、ウィンドウの描画について。
リストの下から行うことで、上のウィンドウほど他のウィンドウに重ならないようになってます。

このゲーム画面をさっきのウィンドウフローに直すと、
こんなん。
生産ウィンドウ→装備ウィンドウ→アイテムウィンドウ
の順に描画されてます。


次に、ウィンドウのクリック処理について。
リストの上から行うことで、見た目と処理を合わせてます。
先ほどのゲーム画面中のウィンドウを大よその領域に分けると、このような四角形になるわけですが、

青い四角、緑の四角、赤い四角が重なっている部分をクリックすると、
ウィンドウリストとしては、

こうなってるので、上からクリック検知して、
アイテムウィンドウをドラッグすることになるわけです。



で、ドラッグするときにまたちょっと工夫したという訳なんですが、
ねむいので、またいつか。

























2013年11月10日日曜日

unityめも

sendmessageでそのgameObjectの関数を呼び出す。

magnitudeでベクトルの大きさを受け取る

2013年10月28日月曜日

飛行機じゃなくて雷撃機になった。

ちゃんと魚雷発射する。

でも、wiki参考にしていろいろ作ったら、ゲームとしてはつまらなくなったな・・・

敵雷撃隊ヨリ自艦ヲ防衛セヨ

ゲームとしては、こんぐらいのほうが楽しいように思う。

敵雷撃隊ヨリ自艦ヲ防衛セヨ(はちゃめちゃ)

敵国航空隊ヨリ自艦ヲ防衛セヨ

機銃ゲー

なんか敵飛行機が遅い。数値はあってるはずなのに。なぜだ。

これに爆弾とか魚雷とかも追加しようと思います。

敵国航空隊ヨリ自艦ヲ防衛セヨ

ていうか結局一日仕事になってしまった。風邪ひいてるのに。

2013年10月24日木曜日

ぱわーあっぷした

といっても、本の通りに作っただけだけど。

かたむきパワーアップ版






簡単に商品リンク貼れた。
これで億万長者になれるかもしれんな・・・

2013年10月22日火曜日

unity

できたぞー

かたむき

webゲームってすごいなあ ダウンロードしなくて良いのだもの