当前位置: 首页>>代码示例>>C++>>正文


C++ Window::GetEvent方法代码示例

本文整理汇总了C++中Window::GetEvent方法的典型用法代码示例。如果您正苦于以下问题:C++ Window::GetEvent方法的具体用法?C++ Window::GetEvent怎么用?C++ Window::GetEvent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Window的用法示例。


在下文中一共展示了Window::GetEvent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Window_getEvent

static VALUE Window_getEvent(VALUE vSelf) {
	// Get C++ object pointer from vSelf
	Window *pSelf;
	Data_Get_Struct(vSelf, Window, pSelf);
	Event ePoll;
	if(!pSelf->GetEvent(ePoll))
		return Qnil;
	DECLARE_OBJ_VAR(Event, Event, ePoll);
	return vEvent;
}
开发者ID:freemaul,项目名称:SFML,代码行数:10,代码来源:sfWindow.cpp

示例2: update

void EngineInput::update( Window &win )
{
    Event event;
    U32 code;
    for( size_t i = 0; i < IO_KEY_MAX; ++i ) {
        keys[i].pressed = false;
        keys[i].released = false;
        if( i < IO_MOUSE_MAX ) { 
            buttons[i].pressed = false;
            buttons[i].released = false;
        }
    }
    closed = alpha = numeric = text = click = type = false;
    alphastr.clear();
    numericstr.clear();
    textstr.clear();
    mouse.w = 0;

    while( win.GetEvent( event )) {
        if( event.Type == Event::Closed ) {
            closed = true;
        } else if( event.Type == Event::KeyPressed ) {
            code = event.Key.Code;
            shift = event.Key.Shift;
            assert( code < IO_KEY_MAX, "Key array to small: " << code );
            keys[ code ].pressed = true;
            keys[ code ].down = true;
            keys[ code ].released = false;
            if( 'a' <= code && code <= 'z' ) { 
                alpha = text = true;
                alphastr += toupper((char)code);
                textstr += toupper((char)code);
            }
            if( '0' <= code && code <= '9' ) {
                numeric = text = true;
                numericstr += (char)code;
                textstr += (char)code;
            }
            type = true;
        } else if( event.Type == Event::KeyReleased ) {
            code = event.Key.Code;
            shift = event.Key.Shift;
            assert( code < IO_KEY_MAX, "Key array to small: " << code );
            keys[ code ].pressed = false;
            keys[ code ].down = false;
            keys[ code ].released = true;
        } else if( event.Type == Event::MouseButtonPressed ) {
            code = event.MouseButton.Button;
            if( code == Mouse::Left ) code = 0;
            else if( code == Mouse::Right ) code = 1;
            else if( code == Mouse::Middle ) code = 2;
            else if( code == Mouse::XButton1 ) code = 3;
            else code = 4;
            assert( code < IO_MOUSE_MAX, "Button array is to small" );
            buttons[ code ].pressed = true;
            buttons[ code ].down = true;
            buttons[ code ].released = false;
            click = true;
        } else if( event.Type == Event::MouseButtonReleased ) {
            code = event.MouseButton.Button;
            if( code == Mouse::Left ) code = MOUSE_LEFT;
            else if( code == Mouse::Right ) code = MOUSE_RIGHT;
            else if( code == Mouse::Middle ) code = MOUSE_MIDDLE;
            else if( code == Mouse::XButton1 ) code = MOUSE_XBUTTON1;
            else code = MOUSE_ELSE;
            assert( code < IO_MOUSE_MAX, "Button array is to small" );
            buttons[ code ].pressed = false;
            buttons[ code ].down = false;
            buttons[ code ].released = true;
        } else if( event.Type == Event::MouseWheelMoved ) {
            mouse.w = event.MouseWheel.Delta;    
        } else if( event.Type == Event::MouseMoved ) {
            mouse.x = event.MouseMove.X;
            mouse.y = event.MouseMove.Y;
        }
    }
}
开发者ID:,项目名称:,代码行数:77,代码来源:


注:本文中的Window::GetEvent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。