//******************************************************* ///按钮函数 /// <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(); //打开游戏的主界面 }
//点击了退出按钮 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); } }
//设置基本信息 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++; } }
//打开界面之后处理的一些工作 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(); }
/// <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(); //结束音乐 } }
/// <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)); }
/// <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); } } }
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(); }
/// <summary> /// tips的动画播放结束之后的回调函数 /// </summary> private void TipAnimEndCallback() { ToolsFunction.Log(this.gameObject, "动画已经播放完毕了!"); TipIcon.enabled = false; TipAnimator.enabled = false; }
/// <summary> /// 播放主角打斗的时候的特效动画 /// </summary> public void PlayEffect() { ToolsFunction.Log(this.gameObject, "play sword effect!"); DataConst.SwallFast1Pre.SetActive(true); }
private void OntoggleMusic(GameObject go) { ToolsFunction.Log(this.gameObject, "被选中了"); }
//点击了音乐开关按钮 private void OnbtnMusic(GameObject go) { ToolsFunction.Log(this.gameObject, "按下音乐开关按钮:当前图片名称:"); ControlMusicBtn(); //音乐开关控制 }
//点击游戏继续按钮 private void OnbtnGoOn(GameObject go) { ToolsFunction.Log(this.gameObject, "点击了游戏继续"); ResetCountAnimation(); //倒数之后才开始继续跑步!! }