1

我正在 embarcadero 的 Firemonkey XE2 平台上创建(用于学习目的)一个 2D 游戏。就游戏领域的视觉表现而言,这是一款类似于太空侵略者的游戏,但要复杂得多。

我正在尝试生成动画敌人。我创建了一个模板 TImage 并为其分配了一个带有六张图片的 BitmapListAnimation。然后我只是使用 Clone() 克隆它。这是克隆代码:

virtual void CreateMe(TForm* pForm);
void CBaseEnemy::CreateMe(TForm *pForm)
{
    TImage* pSource = dynamic_cast<TImage*>(this->pToClone);
    pSource->Visible = true;
    TImage* pDest = dynamic_cast<TImage*>(pSource->Clone(pForm));
    pDest->Parent = pForm;

    TBitmapListAnimation* pAnimSource = dynamic_cast<TBitmapListAnimation*>(pForm->FindComponent("BitmapListAnimation1"));
    pAnimSource->Parent = pDest;
    pAnimSource->Start();
    TBitmapListAnimation* pAnimDest = dynamic_cast<TBitmapListAnimation*>(pAnimSource->Clone(pForm));
}

它可以工作,只是非常复杂,您能否建议一种克隆整个模板的方法(一个组件,例如 TImage 及其所有子组件)?

4

1 回答 1

1

刚刚发布的 Embarcadero 博客文章涵盖了以下内容:博客

于 2013-02-07T16:06:49.097 回答