当前位置: 代码迷 >> QT开发 >> 关于qml中部分js代码的用法不如何理解
  详细解决方案

关于qml中部分js代码的用法不如何理解

热度:254   发布时间:2016-04-25 02:54:50.0
关于qml中部分js代码的用法不怎么理解?
这里是js文件,var gameState  这里定义完这个变量之后,我不理解为什么可以gameState.mobs[i]这样用,下面代码中有很多这么用的地方,希望明白的给解释下啊,感激不尽了  或者告诉我这里是用到了js中的什么概念也可以  

.pragma library // Shared game state
.import QtQuick 2.0 as QQ

// Game Stuff
var gameState // Local reference
function getGameState() { return gameState; }

var towerData = [ // Name and cost, stats are in the delegate per instance
    { "name": "Melee", "cost": 20 },
    { "name": "Ranged", "cost": 50 },
    { "name": "Bomb", "cost": 75 },
    { "name": "Factory", "cost": 25 }
]

var waveBaseData = [300, 290, 280, 270, 220, 180, 160, 80, 80, 80, 30, 30, 30, 30];
var waveData = [];

var towerComponents = new Array(towerData.length);
var mobComponent = Qt.createComponent("mobs/MobBase.qml");

function endGame()
{   
    gameState.gameRunning = false;
    gameState.gameOver = true;
    for (var i = 0; i < gameState.cols; i++) {
        for (var j = 0; j < gameState.rows; j++) {
            if (gameState.towers[towerIdx(i, j)]) {
                gameState.towers[towerIdx(i, j)].destroy();
                gameState.towers[towerIdx(i, j)] = null;
            }
        }
        for (var j in gameState.mobs[i])
            gameState.mobs[i][j].destroy();
        gameState.mobs[i].splice(0,gameState.mobs[i].length); //Leaves queue reusable
    }
}

------解决思路----------------------
你代码没有贴全部吧
------解决思路----------------------
var是一个通用的数据类型,究竟是什么类型,就看你使用的时候你给他所赋值的数值的类型,赋值之后var声明的变量就有与数值一样的类型,也相应具有这个类型对应的属性
------解决思路----------------------
说,你到底拿了谁的游戏源码?
------解决思路----------------------
引用:
Quote: 引用:

说,你到底拿了谁的游戏源码?
  请问qt quick 中 有类似于Qt c++QGraphicsItem中的碰撞检测接口吗  

木有,但是你可以在github上搜索Box2D qml 。
  相关解决方案