C++ Builder XE2 在3D场景中加载2D控件

C++ Builder XE2  3D场景中加载2D控件

warensoft 中科院计算所培训中心

(原创文章,请勿转载!)

C++ Builder XE2已经发布很长时间了,令笔者兴奋的有两点,第一是IDE的智能感知速度大大提升,二是在XE2中集成了FireMonkey3D组件,这是目前可以见到的,除了WPF以外,另一个款直接集成在IDE中的3D引擎,对比WPFFireMonkey编译完的可执行程序是原生的本地程序,不用像WPF一样要安装庞大的运行时。另外,FireMonkey还提供了编译成Win32或者是IOS原生程序的选择功能(太牛了)。

FireMonkey中不但提供了常见3D技术中的功能支持(如:ViewPortCamera等),还提供了一个大多3D引擎不太好实现的功能,即:可以直接将2D控件加载到3D空间中,方法如下所示:

第一步:建立一个FireMonkey的应用程序,如下图所示:

image001.png![if>

第二步:在窗口中添加一个ViewPort3D,以便展示3D效果,如下图所示:

image002.png![if>

调整ViewPort3D的大小,使其充满整个窗口,如下图所示:

image004.jpg![if>

第三步:在Viewport3D中添加一个TLayer3D组件,如下图所示:

image005.png![if>

image007.jpg![if>

调整其RotationScale值,结果如下图所示:

image009.jpg![if>

第四步:在TLayer3D中添加一个Button控件和一个Edit控件,如下图所示:

image011.jpg![if>

其层次结构如下图所示:

image012.png![if>

第五步:编写ButtonClick事件,代码如下所示:

void __fastcall TForm12::Button1Click(TObject *Sender)

{

       //设置文本框的文字Hello World

       this->Edit1->Text="Hello World";

       //同时让Layer3DY轴转动100

       this->Layer3D1->RotationAngle->Y+=100;

}

最后,运行程序,点击按钮之前的效果如下图所示:

image014.jpg![if>

点击之后的效果如下图所示:

image016.jpg![if>

转载于:https://www.cnblogs.com/warensoft/archive/2011/09/28/Game.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值