Hi all, new to using Qt creator/V-play so bare with me please….
So I am trying to make a unlimited running platformer, like flappy bird. I am actually using a V-play template to make this game.
I am trying to add bombs into the space that continue to randomly run onto the screen and you must avoid them with your plane.
I keep getting a type error message when i attempt to put the bomb into the scene, here is the code
(Level.qml)
import Felgo 3.0
import QtQuick 2.0
import “../entities”
import “../common”
Item {
id: level
Background {
anchors.horizontalCenter: parent.horizontalCenter
y: scene.gameWindowAnchorItem.y+scene.gameWindowAnchorItem.height-height
}
BorderElement {
x: scene.gameWindowAnchorItem.x
y: scene.gameWindowAnchorItem.y-20
width: scene.gameWindowAnchorItem.width
height: 20
}
BorderElement {
y: ground.y
x: scene.gameWindowAnchorItem.x
width: scene.gameWindowAnchorItem.width
height: 20
}
Bombs {
id: bombs1
delay: 0
}
Bombs {
id: bombs2
delay: 1.5
}
Ground {
id: ground
anchors.horizontalCenter: parent.horizontalCenter
y: scene.gameWindowAnchorItem.y+scene.gameWindowAnchorItem.height-height
}
function reset() {
bombs1.reset()
bombs2.reset()
ground.reset()
}
function stop() {
bombs1.stop()
bombs2.stop()
ground.stop()
}
function start() {
bombs1.start()
bombs2.start()
}
}
(bomb.qml)
import Felgo 3.0
import QtQuick 2.0
EntityBase {
id: bombElement
width: 40
height: 40
property int variationDistance: 70
property double delay: 0
MultiResolutionImage {
id: bomb
source: “../../assets/img/bomb.png”
}
BoxCollider {
id: collider
width: bomb.width
height: bomb.height
anchors.centerIn: bomb
bodyType: Body.Static
collisionTestingOnlyMode: true
fixture.onBeginContact: {
player.gameOver()
}
}
MovementAnimation {
id: animation
target: parent
property: “x”
velocity: -150
running: true
minPropertyValue: scene.gameWindowAnchorItem.x-bombElement.width*1.5
onLimitReached: {
reset()
}
}
function generateRandomValueBetween(minimum, maximum) {
return Math.random()*(maximum-minimum) + minimum
}
function reset() {
bombElement.x = scene.gameWindowAnchorItem.width+bombElement.width/2
bombElement.y = generateRandomValueBetween(-variationDistance, variationDistance)-scene.height/3
}
function start() {
delayTimer.restart()
}
function stop() {
animation.stop()
delayTimer.stop()
}
Timer {
id: delayTimer
interval: delay*1000
repeat: false
onTriggered: {
animation.start()
}
}
Component.onCompleted: {
reset()
}
}
These are the error messages.
file:///C:/Users/todd/OneDrive/Company/build-GoPlane-Desktop_Qt_5_7_0_MinGW_32bit-Debug/qml/MainItem.qml:46:5: Type GameScene unavailable
file:///C:/Users/todd/OneDrive/Company/build-GoPlane-Desktop_Qt_5_7_0_MinGW_32bit-Debug/qml/scenes/GameScene.qml:37:5: Type Level unavailable
file:///C:/Users/todd/OneDrive/Company/build-GoPlane-Desktop_Qt_5_7_0_MinGW_32bit-Debug/qml/game/Level.qml:28:5: Bombs is not a type
C:\Users\todd\OneDrive\Company\build-GoPlane-Desktop_Qt_5_7_0_MinGW_32bit-Debug\debug\GoPlane.exe exited with code 0