2026/7/4 任务17完毕
2026/7/4 任务17完毕
TODO注释可以更好地帮助我们更好地知道自己未完成的任务(J将来要完成的事情),在VS2022中,视图---任务列表,即可看到
Pixels Per Unit为“多少像素转化为一米”
在Game视图下可以调整游戏画面尺寸,在《植物大战僵尸》里我们选用“Full HD(1920*1080)”
1、新建游戏场景:
新建或者将Scenes中的场景重命名为“GameScene”
本节好多BUG
程序
Card: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; enum CardState { Cooling, WaitingSun, Ready } public class Crad : MonoBehaviour { private CardState cardState = CardState.Cooling; public GameObject cardLight; public GameObject cardGray; public Image cardMask; [SerializeField] private float cdTime = 2; private float cdTimer = 0; [SerializeField] private int needSunPoint = 50; private void Update() { switch (cardState) { case CardState.Cooling: CoolingUpdate(); break; case CardState.WaitingSun: WaitingSunUpdate(); break; case CardState.Ready: ReadyUpdate(); break; default: break; } } void CoolingUpdate() { cdTimer += Time.deltaTime; cardMask.fillAmount = (cdTime - cdTimer) / cdTime; if(cdTimer >= cdTime) { TransitionToWaitingSun(); } } void WaitingSunUpdate() { if (needSunPoint <= SunManager.Instance.SunPoint) { TransitionToReady(); } } void ReadyUpdate() { if (needSunPoint > SunManager.Instance.SunPoint) { TransitionToWaitingSun(); } } void TransitionToWaitingSun() { cardState = CardState.WaitingSun; cardLight.SetActive(false); cardGray.SetActive(true); cardMask.gameObject.SetActive(false); } void TransitionToReady() { cardState = CardState.Ready; cardLight.SetActive(true); cardGray.SetActive(false); cardMask.gameObject.SetActive(false); } void TransitionToCooling() { cardState = CardState.Cooling; cdTimer = 0; cardLight.SetActive(false); cardGray.SetActive(true); cardMask.gameObject.SetActive(true); } public void OnClick() { if (needSunPoint > SunManager.Instance.SunPoint) return; TransitionToCooling(); } } SunManager: using System.Collections; using System.Collections.Generic; using UnityEngine; public class SunManager : MonoBehaviour { public static SunManager Instance { get; private set; } private void Awake() { Instance = this; } [SerializeField] private int sunPoint; public int SunPoint { get { return sunPoint; } } }
僵尸代码还未写,需要再kan
此时此刻 我要杨诗一首 我在b18 心在18外 老师针对我 我也没办法 上课也不会 下课就回去 这个学怎么上也 孺子不可教也 而3思而不思则带 带而不思则网 古人云 你不学就不学 大家一起不学不就行了 假日曰班里人都不学 教主肯定也不说 他奶奶的 一曲高歌 一群假吊斯在这块学 曰:无语。
第四课程:开始制作
第三课时:展示类图
1.plants
2.Zombies
3.开始结束
······
第二课时:资料下载
1.资料包
(1)声音
(2)图片
2.载入2D模板
第一课时:整体游戏展示
1.开始
2.植物
3.僵尸
4.主页面
cdTimer+=Time.deltaTime;
cardMask.fillAmount=(cdTime-cdTimer)/cdTime;
if(cdTimer>=cdTime){
TransitionToWaitingSun();
}
void TransitionToWaitingSun(){
cardState=CardState.WaitingSun;
cardLight.SetActive(false);
cardGray.SetActive(true);
cardMask.gameObject.SetActive(false);
}
使用unity2023.2.2.20f1,创建的anim播放会闪烁,只有部分图片会显示。
问题原因:部分向日葵图片被背景遮挡
解决方案,调整Sundflower的sprite renderer 的order in layer 为1,默认Background为0
这里
动画也是可以加入关键帧来 设置子元素的相关操作
33 节 控制僵尸产生先跳过
10-开发卡片点击后的植物生成和跟随
在Manager上创建脚本:HandManager
09-创建第一个植物-向日葵
双击【Back Ground】放大视图
给所有植物添加一个父类plant
给Sun flower添加脚本:Plant
08-开发阳光值的消耗和更新
阳光值直接放在【CardListUI】里