标记,到此还没做。。。
标记,到此还没做。。。
从这里开始,前面的准备工作差不多完成了,剩下的就是游戏逻辑的工作了。
这里最好不要强转,用round比较好
雷已经标记出来了,谁他妈会去踩。所以方块标记上雷时,不作处理。
讲的太啰嗦了
这样写销毁方法不太好,应该当所有子物体都播放完粒子特效时,销毁整个物体。
这里我选择用一个数组保存下来trap的位置。
这样用switch不好,当地图需要增加或减少元素时,你会改到哭的。
自己写出来了,性能感人。洪泛算一个周期要好几秒,沃日。原来是debug搞得鬼。
dir = new Vector2Int(Mathf.Clamp)
public void OnLevelButtonClick(){
if(isHide == false){
isHide = true;;
GetComponent<RectTransform>().DOAnchorPosY(-7,0.5f);
}else{
isHide = false;
GetComponent<RectTransform>().DOAnchorPosY(45,0.5f);
}
}
public void OnHoeSelected(bool isOn)
{
GameManager.Instance
}
public ToolType toolType;
private void OnMouseUp()
{
switch(toolType)[
case
}
缺乏一个判定值会导致报错但不会有影响。
应该在判断X跟Y在正常范围值那段里再加上判断i与j是否在正常范围值,要不然在边缘的数字元素上按下鼠标中键会提示错误。
public void LoadData()
{
lv = PlayerPrefs.GetInt("lv",1);
w = 20+(lv*3)
h = Random.Range(9,12);
}
public void SaveData()
{
}
public void SwitchMuteState()
{
}
public void PlayClip(AudioClip clip)
屏幕坐标转世界坐标
Camera.main.ScreenToWorldPoint(new Vector3(Screen.width / 2, Screen.height / 2, 0) + new Vector3(0, 0, 10));
[Header("元素预制体")] //显示在面板上
[Tooltip("透明边界预制体")]//鼠标放在面板信息上会有注
public GameObject bgElement;
public void RemoveFlag()
{
Transform flag = transform.Find("FlagElement");
if (flag != null)
{
elementState = ElementState.Covered;
flag.DOLocalMoveY(0.15f, 0.1f).onComplete += () =>
{
Destroy(flag.gameObject);
};
}
}
使用DoTween做插旗拔旗的操作时,在完成时用Lambda表达式的方式去开启一个协程来销毁对象
Float DirX,DirY
IdleBlendTree->2DsimpleDirectional
Motion->01,0-1,-10,10,-11,11,-1-1,1-1
MoveBlendTree->2DsimpleDirectional
Motion->上下左右左上右上左下右下
DieBlendTree->2DfreeformCartesian
Motion->l,r->-11