- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为游戏制作 TCard 组件。 我应该从哪个类派生它?
这适用于 MTG 或 yu gi Oh 等纸牌游戏。该卡片应具有空白图像,创建后它将加载前 View 或后 View 。
如果它加载前 View ,则它必须有一些标签(用于诸如功率/成本/定义/文本之类的属性)。卡片必须是可点击的。
type
TCard = class(zzzzzzzzz)
private
现在完成后,我是否需要向构造函数/析构函数添加任何内容?目前我有:
constructor TCard.Create(AOwner: Tcomponent);
begin
inherited Create(AOwner);
end;
{******************************************************************************}
{ Free any resources allocated to component }
destructor TCard.Destroy;
begin
inherited Destroy;
end;
此外,我认为我添加了 onclick 部分,但不确定。在发布区域我有
{Inherited properties}
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnClick;
property OnDblClick;
等等...
最佳答案
这取决于您想要做什么,但可见控件通常有两个祖先:
TGraphicControl:这是 TControl 的后代,为您实现了 Canvas。您只需重写 Paint 方法即可开始绘图。像这样的控件支持鼠标交互,但无法获取键盘焦点。
TCustomControl:这是 TWinControl 的后代。它还实现了 Canvas 并允许您重写 Paint 方法来绘制任何内容。因为它继承自TWinControl,所以它实际上有一个句柄,可以获取键盘焦点并处理键盘消息。
另一个不错的候选者是 TPanel(或者更确切地说 TCustomPanel)。它继承自TCustomControl,因此具有相同的图形属性,但它还包含绘制边框和对齐子控件的功能。不过,我怀疑您是否需要这个。
当然,您可以直接从 TControl 或 TWinControl 派生,但是您必须自己处理其中的一些内容。
请注意,最好将实际的纸牌游戏逻辑放在单独的类中,并且只创建用于绘图的视觉控件。如果这样做,您仍然可以选择是否要为每张卡牌提供单独的控件,或者您可以选择在单个控件上甚至直接在表单上绘制整个卡牌游戏。我怀疑 Windows 的纸牌游戏(如 Free Cell 和 Solitaire)是否有超过 50 个图形控件。
关于delphi - 我的 'TCard' 是从哪个组件导出的? (游戏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19043640/
我正在尝试为游戏制作 TCard 组件。 我应该从哪个类派生它? 这适用于 MTG 或 yu gi Oh 等纸牌游戏。该卡片应具有空白图像,创建后它将加载前 View 或后 View 。 如果它加载前
我目前正在尝试创建一个 CHM 帮助文件,用户可以在其中输入值,然后生成一个按钮以将 lPARAM 发送到 WM_TCARD。 目前,我已经在 IE 11、10、9 和 8 中进行了测试,根据 DOM
我是一名优秀的程序员,十分优秀!