著作権:
- :ブログパーク「あなたはメーカーの文化を夢、」ブログのスペース(URLに掲載された記事
http://www.cnblogs.com/raymondking123/
とマイクロチャネル公共番号「夢のメイカーズムーブメント」) - あなたは転載は自由ですが、完全な著作権表示を含めなければなりません!
MVC
ゲームの初期化
ユニティ・スタート・シナリオでは、ゲームの初期化を行うために、あなたは空のオブジェクトを作成する必要がある
スクリプトバインドするために、ヌルオブジェクトを
MonoBehavior MonoBehaviorから継承された:MainInitialicerを
最初PlayerControllerコントローラオブジェクトを作成し
、メソッドを定義します
void start()
{
控制器初始化
Controller = new PlayerController();
调用显示视图界面方法
Controller.ShowView
}
MVCの練習
パネルを作成し、攻撃の次のパネルの名前を設定するためのボタンを作成し、最高に調整合う
次Mainpanelは、テキストコントロール入力EXPベストフィット追加
シーンスクリプト、そこに私のフォルダを作成すると
、スクリプトはアプリケーションアプリケーションフレームワークフレームワークのフォルダが存在する
フレームワークは、内部MVCフレームワークを書くことは
、いくつかのスクリプトを必要とする:
modelbaseモデル層の基底クラス、
ViewBaseインタフェース基本クラス、
ControllerBase制御層の基本クラス、
MVC外側のクラスは
ファサードを介して3層の様々な構成要素へのアクセスを統一することができる
MVC外部クラス、 MVCフレームワーク、外国簡単な操作で、内部クラスは見ることのできない
ような3つの書き込みコードが続きます
ControllerBase:
public abstract class ControllerBase
{
// 执行命令(一段功能代码)
public abstract void Execute(object param); // 对谁攻击,用什么技能攻击,技能的id
// 执行一个功能
}
//public class AttackController : ControllerBase
//{
// public override void Execute()
// {
// throw new System.NotImplementedException();
// }
//}
//var ac = new AttackController();
//ac.Execute()
viewbase:
Viewクラス:
1、ViewBaseから継承した各クラスは、各ビューの名前を提供しなければならない独自の名前がある
2を、ViewBaseから継承する各クラスは、彼がそのような経験の増加感覚として「AttackEventを」気にイベントを登録する必要があります利益
3、各クラスがViewBaseから継承し、それらが関係するイベント「attackevent」に対処する必要があります
public abstract class ViewBase : MonoBehaviour
{
public IList interestedEvents; // 保存关心的事件列表
public abstract string Name { get; }
// 每个view的名字,把取得name的方法交给子类做
// 属性的方法抽象就不用实现,不然get方法必须要实现,返回一个名字
// Get {return name;}
public abstract IList GetInterestedEvents();
// 方法:返回一个我关心的事件
public abstract void HandleEvents(string eventName, object eventParam);
// 处理自己关心的事件,关心的事件名(攻击),事件的信息(攻击造成的伤害值)
}
MVCクラスに登録されたビューは、その後、データの変更、通知インタフェースの更新は、メッセージがMVCクラスを介して送信されますいつでも、興味のあるイベントです
ベースモデル:
/// <summary>
/// 数据模型,每个模型必须有一个名称
/// </summary>
public abstract class ModelBase {
public abstract string Name { get; }
// 背包数据有背包模型,副本数据有副本模型,这是他们的名字
}