Пример #1
0
 //*******************************************************
 ///按钮函数
 /// <summary>
 ///按下测试按钮
 /// </summary>
 /// <param name="go"></param>
 private void OnBtnSetting(GameObject go)   //暂时先不使用点击,测试滑过事件
 {
     ToolsFunction.Log(this.gameObject, "按下NGUI的设置按钮");
     ControlSettingBtn();
     //CMySql.GetDataSet("delete from test");OK
     //CMySql.GetDataSet("insert into unity values(43, '43', '543534')");OK
 }
 /// <summary>
 /// 点击游戏设置按钮
 /// </summary>
 /// <param name="go"></param>
 public void OnSettingBtn(GameObject go)
 {
     ToolsFunction.Log(this.gameObject, "点击了查看设置按钮");
     SubViewNow = OpenView("SettingView");  //打开设置面板
     SubViewNow.GetComponent <SettingView>().HandleAfteerOpenView();
     //Singleton<SettingView>.Instance.OpenView();   //打开设置的面板
 }
    /// <summary>
    /// 怪物的触发器,碰到人的时候,就让人静止了,但是如果人打斗的话,就可以解锁动作
    /// </summary>
    /// <param name="other"></param>
    public void OnTriggerEnter(Collider other)
    {
        if ("MeDisplay(Clone)" == other.gameObject.name)
        {
            ToolsFunction.Log(this.gameObject, "Spider现在撞到人了");
            nAnimIndex    = 1000; //设定一个值很大的量表示进入战斗状态, 只要碰到了人就开始战斗
            RoleAnimation = other.gameObject.GetComponent <Animation>();
            int i = 0;

            if (true == State.ON_FIGHT)
            {
                this.GetComponent <BoxCollider>().enabled = false;   //禁用触发器
                ToolsFunction.Log(this.gameObject, "执行次数:" + i);

                i++;
                SpiderAnimation.Play(MonsterAnim.AnimFight);
            }
            else
            {
                State.KEEP_IDLE = true;
                //我还没有攻击就撞到了蜘蛛,这个时候要播放被大的动画,毁掉函数中继续播放攻击动作
                //!!!!!!!!!!!
                other.gameObject.GetComponent <Animation>().Play(State.ANIM_DEMAGE); //播放受打击的动作
                other.transform.position -= 0.1f * ToolsFunction.Toward(other.gameObject);
                ToolsFunction.AddScore(-DataConst.SCORE_SPIDER / 2);
            }
        }
    }
// Usage

        /// <summary>
        /// 点击了查看记录的按钮
        /// </summary>
        /// <param name="go"></param>
        public void OnRecordBtn(GameObject go)
        {
            ToolsFunction.Log(this.gameObject, "点击了查看记录按钮");
            //CloseView();  //关闭当前界面

            SubViewNow = OpenView("RecordView");
            SubViewNow.GetComponent <RecordView>().HandleAfteerOpenView();
            //Singleton<RecordView>.Instance.OpenView();  //打开游戏记录的界面
        }
        /// <summary>
        /// 点击了退出游戏
        /// </summary>
        /// <param name="go"></param>
        public void OnQuitBtn(GameObject go)
        {
            ToolsFunction.Log(this.gameObject, "点击了退出游戏按钮");

            Application.Quit();  //关闭应用程序
            //还是要做保存记录的操作!!!!!!

            //todo
            //CloseView();
        }
        /// <summary>
        /// 点击了开始游戏按钮正式进入游戏
        /// </summary>
        /// <param name="go"></param>
        public void OnStartBtn(GameObject go)
        {
            ToolsFunction.Log(this.gameObject, "点击了开始游戏按钮");
            //进入就播放倒计时的动画啊

            CloseView();                                                 //关闭当前界面
            SubViewNow = OpenView("MainView");
            SubViewNow.GetComponent <MainView>().HandleAfteerOpenView(); //打开界面后处理的操作
            //Singleton<MainView>.Instance.OpenView();   //打开游戏的主界面
        }
Пример #7
0
 //点击了退出按钮
 private void OnbtnQuit(GameObject go)
 {
     ToolsFunction.Log(this.gameObject, "点击了退出按钮");
     //这里调用保存游戏的分数和时间
     State.KEEP_IDLE = true;
     CloseView();           //关闭当前界面
     OpenView("AwardView"); //打开启动界面
     RecordTb.SaveRecord(); //保存游戏记录
     //保存游戏当中的设置
     XmlReadDoc.SaveSetting(SettingTb.Element[SettingTb.INDEX_MUSIC], SettingTb.Element[SettingTb.INDEX_HINT_TIP], SettingTb.Element[SettingTb.INDEX_SPEED], SettingTb.Element[SettingTb.INDEX_QUALITY]);
     //CMySql.UpdateSetting(SettingTb.Element[SettingTb.INDEX_MUSIC], SettingTb.Element[SettingTb.INDEX_HINT_TIP], SettingTb.Element[SettingTb.INDEX_SPEED], SettingTb.Element[SettingTb.INDEX_QUALITY]);
 }
 /// <summary>
 /// 呈现游戏记录
 /// </summary>
 public void ShowRecord()
 {
     ToolsFunction.Log(this.gameObject, "开始显示游戏记录" + RecordTb.RecList.Count);
     //首先对成绩单列表排序
     RecordTb.RecList.Sort(delegate(RecordTb.RecordTb_1 a, RecordTb.RecordTb_1 b) { return(b.score.CompareTo(a.score)); });
     for (int i = 0; i < RecordTb.RecList.Count; i++)
     {
         recList[i].score.text = (i + 1).ToString() + ". " + RecordTb.RecList[i].score; // (i * 1000).ToString();
         recList[i].time.text  = RecordTb.RecList[i].time;                              // (i * 20).ToString();
         recList[i].go.gameObject.SetActive(true);
     }
 }
Пример #9
0
        //设置基本信息
        private void InitSetting()
        {
            ToolsFunction.Log(this.gameObject, "在打开界面之后");
            ToolsFunction.Log(this.gameObject, "音乐:" + SettingTb.Element[SettingTb.INDEX_MUSIC]);
            ToolsFunction.Log(this.gameObject, "提示:" + SettingTb.Element[SettingTb.INDEX_HINT_TIP]);
            ToolsFunction.Log(this.gameObject, "速度:" + SettingTb.Element[SettingTb.INDEX_SPEED].ToString());
            ToolsFunction.Log(this.gameObject, "记录:" + SettingTb.Element[SettingTb.INDEX_QUALITY].ToString());

            toggleMusic.value   = SettingTb.Element[SettingTb.INDEX_MUSIC] == "1" ? true : false;
            toggleMaintip.value = SettingTb.Element[SettingTb.INDEX_HINT_TIP] == "1"?true:false;
            sliderSpeed.value   = float.Parse(SettingTb.Element[SettingTb.INDEX_SPEED]) / ((float)2);
            sliderQuality.value = float.Parse(SettingTb.Element[SettingTb.INDEX_QUALITY]);
        }
    /// <summary>
    /// 怪物的普通动作完毕之后的回调函数,默认回调下一个动画
    /// </summary>
    //public void ActionEndCallback()
    //{
    //    Debug.Log("Spider的一个动画已经播放完了");
    //    //第一次被执行是idle动画完毕后
    //    if (nAnimIndex < MonsterAnim.AnimNormal.Length)
    //    {
    //        ToolsFunction.Log(this.gameObject, "要播放Spider下一个normal动作");
    //        int n = Random.Range(0, MonsterAnim.AnimNormal.Length - 1);
    //        SpiderAnimation.Play(MonsterAnim.AnimNormal[n]);
    //        //nAnimIndex++;
    //    }
    //    else  //表示撞到了,开始播放第一个攻击动作
    //    {
    //        ToolsFunction.Log(this.gameObject, "准备播放第一个受击动作");
    //        SpiderAnimation.Play(MonsterAnim.AnimAttack[0]);
    //    }
    //}


    /// <summary>
    /// 怪物攻击动作完毕之后的回调函数
    /// </summary>
    public void AttackEndCallback()
    {
        if (nAttack >= MonsterAnim.AnimAttack.Length) //表示所有攻击动画已经播放完毕,播放死亡动画
        {
            nAttack = 0;                              //置0,重新开始播放打斗序列动画
        }
        else
        {
            ToolsFunction.Log(this.gameObject, "Spider下一个打斗动作");
            SpiderAnimation.Play(MonsterAnim.AnimAttack[nAttack]);
            nAttack++;
        }
    }
Пример #11
0
 //打开界面之后处理的一些工作
 public override void HandleAfteerOpenView()
 {
     base.HandleAfteerOpenView();
     //重读设置界面的内容
     ToolsFunction.Log(this.gameObject.name, "执行了HandleAfterOpenView函数");
     //SettingTb.Element = CMySql.GetOneColumnTab("settingtb");
     XmlReadDoc.ReadSetting();
     if (toggleMusic)  //在组件找到的情况下
     {
         InitSetting();
     }
     //StartCoroutine(InitSettingFunc());
     //InitSetting();
 }
Пример #12
0
 /// <summary>
 /// 音乐开关的处理
 /// </summary>
 private void ControlMusicBtn()
 {
     ToolsFunction.Log(this.gameObject, "当前音乐按钮的背景图片:" + MusicBg.spriteName);
     if ("play_music" == MusicBg.spriteName)
     {
         MusicBg.spriteName = "no_music";
         Common.MUSIC_BG.Pause();  //关闭音乐,其实是音乐暂停,再次点击会继续播放
     }
     else if ("no_music" == MusicBg.spriteName)
     {
         MusicBg.spriteName = "play_music";
         Common.MUSIC_BG.Play();  //结束音乐
     }
 }
Пример #13
0
        /// <summary>
        /// 打开界面之后的操作
        /// </summary>
        public override void HandleAfteerOpenView()
        {
            base.HandleAfteerOpenView();
            ResetCountAnimation();
            ToolsFunction.Log(this.ToString(), "HandleAfteerOpenView执行了");
            //重新读取设置的配置信息
            XmlReadDoc.ReadSetting();
            //SettingTb.Element =CMySql. GetOneColumnTab("settingtb");
            //应用默认的设置信息
            if (this.gameObject)
            {
                InitMainSetting();
            }
            //开始播放倒数动画
            //PlayCountAnimation();

            //开启倒计时器的协程, 总时间10*60== 600s
            nTotalSecond = 600;
            StartCoroutine(TimerCount(nTotalSecond));
        }
Пример #14
0
    /// <summary>
    /// 检测前方是否即将有障碍物出现,给出提示
    /// </summary>
    public void UpdateRockCheck()
    {
        if ("1" == SettingTb.Element[SettingTb.INDEX_HINT_TIP])   //表示隐藏主界面消息提示,直接不显示提示了
        {
            return;
        }
        lineStart = DataConst.MeDisplay.transform.position + 2 * ToolsFunction.Toward(DataConst.MeDisplay) + 2f * ToolsFunction.ToLeft(DataConst.MeDisplay) + new Vector3(0, 0, -2);
        lineEnd   = DataConst.MeDisplay.transform.position + 2 * ToolsFunction.Toward(DataConst.MeDisplay) - 2f * ToolsFunction.ToLeft(DataConst.MeDisplay) + new Vector3(0, 0, -2);

        Debug.DrawLine(lineStart, lineEnd);
        if (Physics.Linecast(lineStart, lineEnd, out hit, 1))
        {
            //判断是不是障碍物
            string blockName = hit.collider.gameObject.name;
            ToolsFunction.Log(this.gameObject, "line cast name: " + blockName);  //障碍物名称
            if (ToolsFunction.IsBlock(blockName))
            {
                MainTipControl.StartAnim(MainView.MainTip, MainView.BlockHead);
            }
        }
    }
Пример #15
0
        private UISlider sliderQuality = null; //设置游戏品质

        // Use this for initialization
        void Awake()
        {
            btnBack     = FindInChild <Button>("btnBack");
            toggleMusic = FindInChild <UIToggle>("Center/Content/toggleMusic");
            if (toggleMusic)
            {
                ToolsFunction.Log(this.gameObject, "已经找到音乐选项了");
            }
            toggleMaintip = FindInChild <UIToggle>("Center/Content/toggleMaintip");
            sliderSpeed   = FindInChild <UISlider>("Center/Content/sliderSpeed");
            sliderQuality = FindInChild <UISlider>("Center/Content/sliderQuality");

            btnBack.onClick = OnbtnBack;
            toggleMusic.onChange.Add(new EventDelegate(toggleMusicOnClick));
            toggleMaintip.onChange.Add(new EventDelegate(toggleMaintipOnClick));
            sliderSpeed.onChange.Add(new EventDelegate(sliderSpeedOnClick));
            sliderQuality.onChange.Add(new EventDelegate(sliderQualityOnClick));

            XmlReadDoc.ReadSetting();

            //初始化设置界面的组件
            InitSetting();
        }
Пример #16
0
 /// <summary>
 /// tips的动画播放结束之后的回调函数
 /// </summary>
 private void TipAnimEndCallback()
 {
     ToolsFunction.Log(this.gameObject, "动画已经播放完毕了!");
     TipIcon.enabled     = false;
     TipAnimator.enabled = false;
 }
Пример #17
0
 /// <summary>
 /// 播放主角打斗的时候的特效动画
 /// </summary>
 public void PlayEffect()
 {
     ToolsFunction.Log(this.gameObject, "play sword effect!");
     DataConst.SwallFast1Pre.SetActive(true);
 }
Пример #18
0
 private void OntoggleMusic(GameObject go)
 {
     ToolsFunction.Log(this.gameObject, "被选中了");
 }
Пример #19
0
 //点击了音乐开关按钮
 private void OnbtnMusic(GameObject go)
 {
     ToolsFunction.Log(this.gameObject, "按下音乐开关按钮:当前图片名称:");
     ControlMusicBtn(); //音乐开关控制
 }
Пример #20
0
 //点击游戏继续按钮
 private void OnbtnGoOn(GameObject go)
 {
     ToolsFunction.Log(this.gameObject, "点击了游戏继续");
     ResetCountAnimation(); //倒数之后才开始继续跑步!!
 }