gpt4 book ai didi

c# - 对象识别自身并运行特定逻辑的最佳方式是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 19:09:25 24 4
gpt4 key购买 nike

我有一个类旨在显示游戏中弹出的文本,我将在两种不同的情况下使用它:

  • 显示红色“-1”,
  • 一个黄色的“+25”

对于“-1”,我希望文本出现,然后我希望它淡出屏幕,因此我将颜色值和 alpha 降低为零并稍微移动它的位置,然后删除对象/文本弹出窗口.

对于“+25”,我想将此文本弹出窗口移到金币图标上,然后删除。

我的问题是,由于我将这个类用于两个不同的事件,这两个事件都有不同的执行逻辑,我将如何最好地区分我正在显示的弹出文本以及因此显示的内容。

我想也许有一个使用字符串的 switch/if 语句。

例如

-1 的字符串将是 "enemyLived"

“+25”的字符串将是“goldPickup”

我会检查

if (this.identity == "enemyLived")
做逻辑
否则 (this.identity =="goldPickup")
做逻辑

但我很好奇是否有经验丰富的编码人员对“更好”设计的检查提出建议。

最佳答案

听起来像是 OOD 和使用继承来解决这个问题的经典案例。

创建一个描述一般操作方法的接口(interface),例如PopupTransition(),然后有两个类,一个是负分,一个是正分。让每个人都提供自己关于过渡如何发生的实现(褪色或移动或其他)。当事件发生时,实例化相应的类型,并将其传递给您的通用处理程序,通用处理程序不关心它是什么事件,只会在适当的时候调用 PopupTransition。如果您突然想要支持其他转换,您可以轻松地扩展它。

关于c# - 对象识别自身并运行特定逻辑的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22023427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com