Forums

OverviewV-Play 2 Support (Qt 5) › PhysicsWorld question/problem

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #8310

    Senad

    Hi,

    I’m running into a little issue (i tried searching the forum without result), I will try to explain this as much as possible:

    I have 3 QML files:

    main.qml

    level1.qml

    level2.qml

    —————-

    main.qml has a loader that will load level1.qml or level2.qml

    in both level1.qml and level2.qml i have

    PhysicsWorld {

    id:world

    z:1

    gravity:9

    }

    And because I have PhysicsWorld in both levels it causes a crash when I try to load level2 after level1.

    However, If I put PhysicsWorld into the main.qml, crash does not happen but it creates another problem:

    in both level1 & level2 there is a DistanceJoint pointing to “world: world”, and when PhysicsWorld is located in the main.qml DistanceJoint fails to work.

     

    Am I missing something here?

     

    Thanks,

     

    #8311

    Alex
    V-Play Team

    Hi,

    as your Level is no child of the PhysicsWorld (but instead a child of the Scene in your main.qml I guess), you cannot directly access the PhysicsWorld’s id in your Level. Please put an property alias in the Scene of your main.qml, pointing at the PhysicsWorld, to enable children of your Scene to access it. This could look like this:

    GameWindow {
      //...
      Scene {
        id: scene
    
        //...
    
        property alias giveThisAliasANameOfYourChoice: world // also property alias world: world is possible
        PhysicsWorld {
          id: world
          //...
        }
    
        //...
    
      }
    }
    

    Then you can access the PhysicsWorld in your level with “scene.giveThisAliasANameOfYourChoice” and the DistanceJoint should work.

    Cheers,
    Alex

    • This reply was modified 3 years, 9 months ago by  Alex.
    • This reply was modified 3 years, 5 months ago by  Alex.
    #8319

    Senad

    This worked,

    :) thanks

Viewing 3 posts - 1 through 3 (of 3 total)

RSS feed for this thread

You must be logged in to reply to this topic.

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support