我有一个游戏项目来重新实现Breakout.我想在一行上显示两个单词,每个单词.它们由砖块连接在一起.在里面,顶行是第一个名称,左对齐.底线是姓氏,右对齐.它们是从文本框输入的,如下所示呈现:

通过的每一秒,屏幕将向网格添加可配置数量的砖块(例如,每秒五块砖块),直到两个单词看起来完整.我显示了一个由矩阵(0,1)创建的字母表.
......但我不知道如何将它们合并为一个词.我该如何加入这些信件?
这是我到目前为止所得到的:
local Bricks = display.newGroup() -- static object
local Events = require("Events")
local Levels = require("Levels")
local sound = require("Sound")
local physics = require("physics")
local Sprites = require("Sprites")
local Func = require("Func")
local brickSpriteData =
{
{
name = "brick",
frames = {Sprites.brick}
},
{
name = "brick2",
frames = {Sprites.brick2}
},
{
name = "brick3",
frames = {Sprites.brick3}
},
}
-- animation table
local brickAnimations = {}
Sprites:CreateAnimationTable
{
spriteData = brickSpriteData, …Run Code Online (Sandbox Code Playgroud) 我一直在线跟踪CS106A讲座并完成作业.虽然在突破游戏中我已经被困了几天,因为我无法理解它的行为.
基本上,我已经建立了环境,砖块,球,桨,边缘,我可以让球在环境中反弹.我可以让球甚至从砖块上反弹,我甚至可以移除砖块.但是我无法让球从砖块上反弹并同时移除砖块.
如果你查看我的代码,你会看到我有一个方法来反转球的方向.此方法从我的方法中获取一个布尔值,该值检查球是否与环境中的任何对象发生碰撞.如果我不包括方法'remove()',那么球将按照预期从砖块上反弹.如果我确实包括那种方法,那么球会移除砖块但不会从它们上弹开.这向我表明正在读取代码并返回布尔值,但该值并未改变球移动的方向.
/*
* File: Breakout.java
* -------------------
* Name:
* Section Leader:
*
* This file will eventually implement the game of Breakout.
*/
import java.awt.Color;
import java.awt.event.MouseEvent;
import acm.graphics.GArc;
import acm.graphics.GLine;
import acm.graphics.GObject;
import acm.graphics.GOval;
import acm.graphics.GRect;
import acm.program.GraphicsProgram;
import acm.util.RandomGenerator;
public class Breakout extends GraphicsProgram {
/** Width and height of application window in pixels */
public static final int APPLICATION_WIDTH = 400;
public static final int APPLICATION_HEIGHT = 600;
/** Dimensions of game board (usually …Run Code Online (Sandbox Code Playgroud) 我正在从iTunes U上的斯坦福大学演讲(仍然很绿)中完成Breakout任务并陷入咆哮.我正在尝试为不同颜色的砖块设置一个点值,这样我就可以计算出一个分数但是我的if似乎不起作用.我觉得getColor()没有返回我认为的值; 我创建了一个状态标签来显示它返回的内容,但我仍然无法弄清楚如何测试它.很可能这是一个简单的我想念或者还不知道.
这是我正在研究的一小部分内容:
if (collider != null && collider != paddle) {
remove(scoreLabel);
vy = -vy;
Color brickColor = collider.getColor();
add(new GLabel("" + collider.getColor(), 10, 12));
double temp = brickVal(brickColor) * scoreMultiplier;
score += Math.abs(temp);
addScoreboard();
remove(collider);
}
}
private double brickVal(Color c) {
if (c.equals(Color.RED)) {
return 10.0;
} else if (c == Color.ORANGE) {
return brickVal = 8.0;
} else if (c == Color.YELLOW) {
return brickVal = 6.0;
} else if (c == Color.GREEN) {
return …Run Code Online (Sandbox Code Playgroud) 我到处看都包括Unity文档,但似乎找不到如何使用Unity的Vector2.Reflect()函数的任何好例子.我试图用这个来控制球的方向(在2D爆发游戏中)当它撞到墙壁时.它需要2个参数(inDirection,inNormal)但我似乎无法弄清楚如何使用它.任何帮助,将不胜感激.
我正在研究一个突破性的克隆,我一直试图弄清楚如何获得两个碰撞反射的交叉矩形因此我可以测量球在x和y轴上进入块的深度,并决定哪个部分是速度我会逆转.
我想我可以像这样计算每个案例的深度:

但是,如果我有交叉矩形而不是我不必担心如果球从左/右或顶部/底部撞击块(因为我将只分别反转x和y轴),因此节省了我很多打字.
我看过Pygame的文档,但似乎它没有这个功能.我该如何解决这个问题?