|
本帖最后由 x_wp 于 2011-10-2 18:51 编辑
用osgWidget来做HUD,将logo图片显示在屏幕右下角,可以通过如下代码来实现:
- ……………………
- osgWidget::Box boxHUD = new osgWidget::Box( "HUD", osgWidget::Box::HORIZONTAL, true );
- osgWidget::Widget logoWidget = new osgWidget::Widget( "Logo", 40.0f, 40.0f );
- boxHUD->setAnchorHorizontal( osgWidget::Window::HA_RIGHT );
- boxHUD->setAnchorVertical( osgWidget::Window::HA_BOTTOM );
- logoWidget->setImage( "Images/osg64.png" );
- ……………………
复制代码
这样的确可以将logo放置到屏幕右下角,但我想的是让logo与屏幕右边界和下边界保持一定的距离,于是改为了:
- ……………………
- osgWidget::Box boxHUD = new osgWidget::Box( "HUD", osgWidget::Box::HORIZONTAL, true );
- osgWidget::Widget logoWidget = new osgWidget::Widget( "Logo", 40.0f, 40.0f );
- boxHUD->setAnchorHorizontal( osgWidget::Window::HA_RIGHT );
- boxHUD->setAnchorVertical( osgWidget::Window::HA_BOTTOM );
- boxHUD->setOrigin( 10.0f, 10.0f );
- logoWidget->setImage( "Images/osg64.png" );
- ……………………
复制代码
可是“boxHUD->setOrigin( 10.0f, 10.0f );”这一句没起作用啊,试了一下,如果不setAnchorHorizontal和setAnchorVertical,这一句就起作用。
请问如何设置osgWidget::Widget相对于屏幕右下角的位置呢?
补充一点:在改变窗口大小的时候希望这个Widget始终位于右下角,并与右下角保持一定的距离。 |
|