如何解决JavaScript 图形我不知道如何在这个游戏中让行变成不同颜色并在它们被击中时移除砖块
/* Constants for bricks */
var NUM_ROWS = 8;
var BRICK_TOP_OFFSET = 10;
var BRICK_SPACING = 2;
var NUM_BRICKS_PER_ROW = 10;
var BRICK_HEIGHT = 10;
var SPACE_FOR_BRICKS = getWidth() - (NUM_BRICKS_PER_ROW + 1) * BRICK_SPACING;
var BRICK_WIDTH = SPACE_FOR_BRICKS / NUM_BRICKS_PER_ROW;
var TOTAL_BRICKS;
var CURRENT_ROW=1;
var brickX = 0 + BRICK_SPACING;
var brickY = 0 + BRICK_TOP_OFFSET;
var dx = 4;
var dy = 4;
var color1= Color.red;
var BRICK_COLOR=0;
/* Constants for ball and paddle */
var PADDLE_WIDTH = 80;
var PADDLE_HEIGHT = 15;
var PADDLE_OFFSET = 10;
var BALL_RADIUS = 15;
function start(){
wall();
paddle();
ball();
setTimer(draw,20);
mouseMoveMethod(movePaddle);
}
function rowColor(){
if(BRICK_COLOR==20){
color1 = Color.red;
}
else if(BRICK_COLOR==40){
color1= Color.orange;
}
else if(BRICK_COLOR==60){
color1= Color.green;
}
else if(BRICK_COLOR==80){
color1= Color.blue;
}
}
function bricks(x,y,color){
var brick = new Rectangle(BRICK_WIDTH,BRICK_HEIGHT);
brick.setPosition(x,y);
brick.setColor(Color);
add(brick);
}
function rows(y,BRICK_COLOR){
var x = BRICK_SPACING;
for(var i = 0; i < NUM_BRICKS_PER_ROW; i++){
bricks(x,color1);
x+= BRICK_WIDTH + BRICK_SPACING;
}
}
function wall(){
var y = BRICK_TOP_OFFSET;
for(var i = 0; i < NUM_ROWS; i++){
rows(y,i);
y += BRICK_HEIGHT + BRICK_SPACING;
}
}
function draw(){
bounce();
ball.move(dx,dy);
}
function ball(){
ball = new Circle(BALL_RADIUS);
ball.setPosition(getWidth()/2,getHeight()/2);
add(ball);
}
function paddle(){
paddle = new Rectangle(PADDLE_WIDTH,PADDLE_HEIGHT);
paddle.setPosition(getWidth()/2-30,getHeight()/2+210);
add(paddle);
}
function movePaddle(p){
var x = p.getX();
if(x<0){
x=0;
}
paddle.setPosition(x,paddle.getY());
}
function bounce(){
// Bounce off right wall
if(ball.getX() + ball.geTradius() > getWidth()){
dx = -dx;
}
// Bounce off left wall
if(ball.getX() - ball.geTradius() < 0){
dx = -dx;
}
// Bounce off bottom wall
if(ball.getY() + ball.geTradius() > getHeight()){
dy = -dy;
}
// Bounce off top wall
if(ball.getY() - ball.geTradius() < 0){
dy = -dy;
}
//Bounce of Paddle
var ballElem = getElementAt(ball.getX(),ball.getY() + ball.geTradius());
if (ballElem == paddle){
dy = -dy;
}
}
行应该是这样的,一旦球击中砖块,砖块就应该被摧毁:
我一直在尝试许多不同的方法来使行显示不同的颜色,就像它们在屏幕截图中显示的那样,但它总是变成纯色或像现在这样的黑色。我一直无法找到颜色或如何在被击中时摧毁砖块,所以如果你们能提供帮助,我将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。