Tagged: UI Toggle Comment Threads | Keyboard Shortcuts

  • frankiezafe 19:09 on 2016-08-25 Permalink | Reply
    Tags: , UI   

    Game controller wrapper.

    Just finished a nice piece of code to manage gamepads (and potentially joysticks) in an efficient and clean way.

    For start, you just ask Input manager to start a game controller


    To get the information out of the InputManager, you call:

    input::DataFrame input_frame;
    input::InputManager::getInputFrame( &input_frame );

    To detect change events (equivalent to button pressed), you have to declare the DataFrame as a class parameter. Each time you call getInputFrame, the events are rendered.

    To access events and input values, you have to read your input_frame. It contains a vector of GameControllerFrames. Each GameControllerFrame has an id, corresponding to the id you gave in openGameController( ID );

    A GameControllerFrame also contains several maps:

    • axis: a map of vector2d for 3 axis: left & right sticks + trigger.x (~LT) & trigger.y (~RT). Vectors are normalised and stabilised.
    • buttons: a map of boolean, true if the button is pressed
    • axis status: indicate if the axis is active, inactive, has just been activated or deactivated
    • button status: indicate if the button is active, inactive, has just been activated or deactivated

    activated and deactivated are there only for one update. After that the status becomes generally active or inactive.

    It is important to understand that these status depends on the frequency of InputManager::getInputFrame( &input_frame ). The previous data frame is stored in the local DataFrame, NOT in the InputManager. The idea is to make a clean data retrieval when needed, and not risking interruption during the main loop.

    The InputManager runs on its own thread and does not trigger events in the main application.

    The code is available in the example-gamepad.2.0 in bitbucket. See related issue.


  • frankiezafe 16:47 on 2016-08-13 Permalink | Reply
    Tags: , UI,   

    First video for peel in #ogre3d!

    All interactions goes via a cross allowing 4 actions.

    • If the player press the top half of the screen, he/she manipulates the top part of the tube.
    • If the player press the bottom half of the screen, he/she manipulates the camera.

    peel – game, first touch and feel from frankie zafe on Vimeo.

    UVs and shading will be solved soon.

    • xuv 18:37 on 2016-08-13 Permalink | Reply

      Nice. I see a little inconsistency in the UI though. The left and right arrow rotate the corresponding cube whether the cursor is in upper or lower half of the screen. While the up and down arrow manipulate the camera. It could be confusing. Maybe a different icon for up and down would make it clearer.

      • frankiezafe 11:42 on 2016-08-14 Permalink | Reply

        On the top, the bottom arrow will move the top part down to close the tube. The top arrow would be used to “bend” the tube and see top and bottom part at once. These 2 actions are not implemented yet…
        On the left and right arrows, there’s a difference between top and bottom:

        • bottom: free rotation
        • top: 90 degrees steps

        So, especially on the top part, top and bottom arrows will have very different behaviour then on the bottom. You were thinking about a completly different icon or an adaptation?
        Top bottom arrow with an extra triangle on the bottom for instance?
        I’d like to keep this as simpl as possible.

        I’m also not sure on how to navigate along the tube. For instance, once the puzzle solved, how to indicate to the player that he/she can go up?
        Remap of the top arrow?

        • xuv 02:52 on 2016-08-15 Permalink | Reply

          Ok. The textual description is a little too complicated for me to understand. I guess I’ll see it. You’re on the right track. 🙂

  • frankiezafe 11:41 on 2016-08-10 Permalink | Reply
    Tags: , , UI   

    Cel shading + bloom effect.

    Empty example, as in the issue “prepare an empty example working on linux using v2.0” (https://bitbucket.org/frankiezafe/polymorph-engine/issues/1/prepare-an-empty-example-working-on-linux) is finished!

    In the example, the UI allows to modify the cel-shading params dynamically.


    The repository is here: https://bitbucket.org/frankiezafe/polymorph-engine/, and always accessible in the right column “polymorph engine source”

  • frankiezafe 16:08 on 2016-08-08 Permalink | Reply
    Tags: , UI   

    Flat design for #ogre #UI.

    To enable, just replace the standard SdkTrays.zip with PolymorphTrays.zip. It still needs fine-tuning, sliders style for instance.



Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc