我在高中时就自己学习了各种编程引擎,20年前就开始了自己的编程之旅,现在我也成为了一名新游戏的老师。回想起当年自己学编程的经历,似乎只有游戏本身才能体现出自己的成长和收获,但这也不是通过代码或大脑的工作方式来体现的。面对那些努力试图了解按钮工作原理的学生,让我想到了如何帮助他们跨过这一道障碍。当然,对于我来说,问题似乎很容易解决——只要进入程序员的思维模式,就知道如何解决问题。昨天我在洗澡时有一个突然想到的想法,回想起当年如何将数据和资产分离的困难。可能是因为我最初使用的是Gamemaker,并且只在后来学习了“好的”编程,所以我也不知道。希望你们也遇到过同样的困难。有很多精灵在移动,测试输入并处理状态,总是要重写相同的代码,改变精灵或分辨率时,程序会出错。如果我取鼠标坐标,它很难让它们在整个游戏中执行某些操作。然后我学习了添加一个控制器对象,它可以接收输入和游戏状态,然后与场景中的所有其他对象通信。因此,我学习了将数据和游戏中的事件从资产和对象中分离。100块钱不是由100个块钱对象组成的,而是游戏状态中的一个数字。进展不是玩家对象中的一个变量,在下一关重生时会丢失,但也保存在其他地方。似乎这是很合理的,但我回忆起当初学编程时,很难理解数据和资产的分离程度。你们有过类似的经历吗?