- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试创建一个可以将框拖入网格的游戏。只有在网格中的空间为空时才能拖动方框。
我想知道网格是否有办法激活将被拖入网格的框。此外,当在空白网格空间附近释放鼠标时,方框会捕捉并放置。
我从使用线条创建网格开始。
var canvasBg = document.getElementById('canvas');
var ctxBg = canvasBg.getContext('2d');
var ctx = canvas.getContext('2d');
// height and width of grid
var gridWidth = canvasBg.width; //500px
var gridHeight= canvasBg.height; //500px
//draw grid
for (var i = 0; i <= gridWidth; i+= 50) {
ctx.beginPath();
ctx.moveTo(50 + i,0);
ctx.lineTo(50 + i, gridHeight);
ctx.stroke();
}
for (var i = 0; i <= gridHeight; i+= 50) {
ctx.beginPath();
ctx.moveTo(0,50 + i);
ctx.lineTo(gridWidth, 50 + i);
ctx.stroke();
}
很抱歉,如果接下来的内容不多,感谢您的阅读,我们将不胜感激任何反馈。
由于这个问题被忽略了,我需要一个答案,所以我一直在尝试寻找其他解决方案,我想我找到了一个但不确定。
如果 Canvas 上有一个点或一个小圆圈,是否可以找到这个点/圆圈的位置,是否可以按照游戏的意图进行,让盒子的一 Angular 连接到点/圆,然后将该框放置在点所在的 Canvas 中。
感谢您的阅读,任何答案都会有很大帮助。
最佳答案
回答你的第一个问题:
您可以创建一个名为 Box 的新对象来模拟已获取的网格位置
function Box (row,col) {
this.row = row;
this.col = col;
this.color = "#000000";
}
只需为您的盒子声明一个变量:
var boxes = new Array();
并在您的游戏中添加一些盒装:
boxes[boxes.length] = new Box(3,5);
boxes[boxes.length] = new Box(5,8);
下面是绘制方框的方法:
for (var b = 0; b < boxes.length; b++) {
ctx.fillStyle = boxes[i].color;
ctx.fillRect(boxes[b].row*50, boxes[b].col*50, 50, 50);
}
每当玩家移动方 block 时,您都会跟踪玩家所在的行和列。
如果玩家拿着 x=321 处的盒子,y=48 则表示第 1 行和第 5 列。
为了检查那个网格是否空闲,你可以使用这个函数
function checkAvailability(playerX, playerY) {
var playerRow = playerY%50;
var playerCol = playerX%50;
var available = true;
for (var b = 0; b < boxes.length; b++) {
if (playerRow == boxes[i].row && playerCol == boxes[i].col) {
available = false;
break;
}
}
return available;
}
关于您关于圆点的第二个问题。 Canvas 上绘制的所有内容都是您绘制的,因此您应该知道点的位置,只需在您的代码中随意使用该信息即可。
关于javascript - 拖入网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28978454/
我是 iOS 新手,我不知道该怎么做,我想实现类似个人资料编辑动画的 Tinder。 例如, 我可以将图像拖到其他 UIImageView 或 UICollectionView 中,并将 Collec
我在项目中使用gridster.net,但遇到了问题。 我试图让小部件仅在单击后按住鼠标一秒钟后才开始拖动。我正在使用下一个代码: $(".gridster .gs-w").on('mousedown
我想用 LibGDX 中的鼠标拖动一个Actor。我的代码: // overrides in the ClickListener @Override public bo
为什么当我将我的 gif 拖到单元格中时表格会变形?我该如何解决?当我将 gif 拖到单元格中时,我希望表格(和每个单元格)保持原来的大小。 这是我的情况的一个 jsfiddle: http://js
当设备转向横向时,一些控件离开 viewController,我无法将其拖到 viewController。 最佳答案 就像您在屏幕截图上看到的那样,您的约束无效,这可能是个问题。如果您使用 Stor
我在单击 JButton 时将 JPanel 添加到 JFrame。它将 JPanel 添加到框架中。该按钮将在点击事件中继续将 JPanel 添加到 JFrame。没有限制。单击按钮时,我也将 JP
我有一个 NSCollectionView 显示内部存储的图像(即不是文件)。集合显示正确。但是,当我开始拖动操作时,应用程序崩溃了。它在拖动离开 Collection View 之前崩溃。我正在返回
我正在尝试解决 iPhone 上拖放的基本问题。这是我的设置: 我有一个 UIScrollView,它有一个大的内容 subview (我可以滚动和缩放它) 内容 subview 有几个小块作为 su
我今天遇到了一个小问题,我想我可以试试堆栈溢出。我会简短而贴心(我删除了很多代码以明确这一点)。 我最近发现了 raphaeljs,我喜欢它。我制作了一些可拖动的圆圈,它像这样工作得很好: 工作脚本:
我是 iOS 开发的新手,想使用分组的 UITableView 和 UITabelCell 来创建一个简单的表单来布置表单的内容。我想在 XCode5 中以交互方式执行此操作。 我的问题是,在将 UI
您好,我是 iOS 编程的新手,想知道将 UIView 拖到 Storyboard 中并以编程方式创建它们之间有什么区别。我正在使用 iPad 进行开发。我有一个 UISplitView。在 Appd
A = 父 NSView;B = 子 NSView; B有一个小的NSTrackingArea;B是A的一个小 subview ; 如果在空白区域中移动、单击、拖动,A 会正确接收 mouseMove
我正在尝试实现自定义 QGraphicsScene,当我们按下左键时,它允许拖动一个项目,为此我使用 QDrag 并传递项目数据,然后覆盖 dropEvent 事件,我在其中获取元素和 dropEve
我是一名优秀的程序员,十分优秀!