gpt4 book ai didi

javascript - HTML5/Javascript 不在屏幕最右侧绘制图 block

转载 作者:行者123 更新时间:2023-11-28 02:05:22 24 4
gpt4 key购买 nike

我目前在屏幕最右侧绘制图 block 时遇到问题,无法弄清楚导致此问题的原因。正如您在下面链接的图像中看到的那样,地砖应该位于屏幕的右边缘。

Image Of what is happening

这是从中绘制的数组的代码副本

var mapArray1 = new Array();
// 05| 10| 15| 20|
mapArray1[0] = new Array(00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00);
mapArray1[1] = new Array(00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00);
mapArray1[2] = new Array(00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00);
mapArray1[3] = new Array(00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00);
mapArray1[4] = new Array(00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 61, 00, 00, 00, 00, 33, 00, 00, 43);
//
mapArray1[5] = new Array(00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 21, 01, 01, 00, 00, 00, 01, 01, 01, 01, 01);
mapArray1[6] = new Array(00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 21, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00);
mapArray1[7] = new Array(00, 00, 00, 00, 63, 00, 00, 00, 00, 00, 00, 00, 00, 00, 21, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00);
mapArray1[8] = new Array(01, 01, 01, 01, 01, 01, 01, 00, 00, 00, 00, 00, 00, 00, 21, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00);
mapArray1[9] = new Array(00, 00, 00, 00, 00, 00, 02, 00, 00, 00, 00, 00, 00, 00, 21, 00, 00, 00, 00, 00, 00, 00, 00, 00, 02);
//10
mapArray1[10] = new Array(00, 00, 00, 00, 00, 00, 02, 00, 00, 00, 00, 00, 00, 00, 21, 00, 00, 00, 00, 00, 00, 00, 00, 00, 02);
mapArray1[11] = new Array(00, 00, 00, 00, 00, 00, 02, 00, 00, 00, 00, 00, 01, 01, 01, 01, 01, 00, 01, 21, 01, 01, 01, 01, 02);
mapArray1[12] = new Array(00, 00, 00, 00, 00, 00, 02, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 21, 00, 00, 00, 00, 00);
mapArray1[13] = new Array(00, 00, 00, 00, 50, 00, 02, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 21, 00, 41, 00, 00, 00);
mapArray1[14] = new Array(01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01);

这是绘制它的代码

function CreateBlock(tileInt, column, row, bm){
var tileWidth = gameConstants.TILEWIDTH;

var blockModel = new AVerletModel();
blockModel._xPos = column * tileWidth + tileWidth/2;
blockModel._yPos = row * tileWidth + tileWidth/2;
blockModel.SetRectangle(tileWidth, tileWidth, 0xFF7777);
vBlocks.push(blockModel);

var blockView = new AVerletView(context);
blockView.Init(blockModel, bm, tileInt);
vViews.push(blockView);
}

function CreateLvl(mbm, obm, ebm){
//console.log("CreateLVL");
//now we must create the level
for(var i = 0;i< gameConstants.TILESACROSS; i++){
for(var j = 0; j < gameConstants.TILESDOWN; j++){
//defining a target
var newPlacement;
var iTileInt = mMap.getTile(currentMap, j, i);
var iTileType = Math.round(iTileInt / 10);
var iMod = iTileInt % 10;

if(iTileInt != 0){
if(iTileInt < 10){
CreateBlock(iTileInt, i, j, mbm);
}
else if(iTileType == gameConstants.ENEMY){
console.log("enemy");
//CreateEnemy(iMod, i, j, ebm);
}
else{
switch(iTileType){
case gameConstants.ORB:
newPlacement = new SpriteView(context);
newPlacement.Init(iMod, obm, iTileType);
vOrbs.push(newPlacement);
newPlacement._xPos = i * gameConstants.TILEWIDTH;
newPlacement._yPos = j * gameConstants.TILEWIDTH;
break;
case gameConstants.LADDER:
newPlacement = new SpriteView(context);
newPlacement.Init(iMod, obm, iTileType);
vViews.push(newPlacement);
newPlacement._xPos = i * gameConstants.TILEWIDTH;
newPlacement._yPos = j * gameConstants.TILEWIDTH;
break;
case gameConstants.GOAL:
goal = new SpriteView(context);
goal.Init(iMod, mbm, iTileType);
goal._xPos = i * gameConstants.TILEWIDTH;
goal._yPos = j * gameConstants.TILEWIDTH;
break;
case gameConstants.RAINBOW:
newPlacement = new SpriteView(context);
//console.log(newPlacement.currentTile);
newPlacement.Init(5, obm, iTileType);
vViews.push(newPlacement);
newPlacement._xPos = i * gameConstants.TILEWIDTH;
newPlacement._yPos = j * gameConstants.TILEWIDTH;
break;
case gameConstants.GEMS:
newPlacement = new SpriteView(context);
newPlacement.Init(iMod, obm, iTileType);
vGems.push(newPlacement);
newPlacement._xPos = i * gameConstants.TILEWIDTH;
newPlacement._yPos = j * gameConstants.TILEWIDTH;
break;
}
}//else

}//if

}//for
}//for
};

最佳答案

问题可能出在您的绘图函数中。每当你制作一个 block 、彩虹或梯子时,你都会插入 vViews 向量。确保您在 59 个区 block 以及您拥有的许多其他区 block 上进行抽牌。你能发布这个函数吗?

关于javascript - HTML5/Javascript 不在屏幕最右侧绘制图 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17861145/

24 4 0
文章推荐: javascript - MegaMenu 在打开另一个菜单项时不会关闭子菜单
文章推荐: html - 如何使 div (flexbox) 在滚动时保持在固定位置(用 div 制作表格)
文章推荐: css - 在 CSS 中访问嵌套
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com