所以我试着用Matlab构建一个简单的俄罗斯方块游戏。我正在使用补丁方法绘制和更新图形,为每个形状预定义位置向量。
到目前为止还不错,但是当我需要删除一行时(当玩家填满一行时),我就卡住了,因为我不知道如何从图中删除块。我尝试了ROI,但我无法删除底层补丁。
绘制图形和补丁的代码:...
figureH = figure('name','TETRIS Game','outerposition',[100 100 500 500],'color','g');
%draw game area
patch(xBoard+[0,gameWidth,gameWidth,0],yBoard +[0,0,gameHeight,gameHeight],'w');
..。
%drawing shape in each step
activeShapePatch = patch((xBoard-1)+min(fcol)+x,yBoard+gameHeight-max(frow)+y,nextShape{1}{4});
nextShape只是一个单元数组,包含每个形状和颜色的x-y向量-这是用于补丁参数的。
发布于 2019-05-30 05:31:23
我需要更多细节,但考虑将补丁句柄存储到单元格或图形对象数组中(例如,init as gobject(3,2)生成一个3x2图形对象数组),然后根据需要删除它们。通常,使用句柄和单元格,
cell_h_patch{ipatch} = patch(XData, YData, ZData, CData, ...)
...
row = ipatch;
delete(cell_h_patch{row})
https://stackoverflow.com/questions/34256151
复制相似问题