Java 在我的手机游戏中添加图像

Java 在我的手机游戏中添加图像,java,android,Java,Android,大家好,我正在为我的益智游戏工作,我想添加一个图像,但我不知道如何添加,因为我只是一个初学者,如果我在这里输入了大部分代码,很抱歉。 如何在滑动益智游戏的按钮中添加图像 这是我的密码 private void makeMove(final Button b) { bad_move = true; int b_pos , zuk_pos, b1; b1 = Integer.parseInt((String) b.getText()); b_pos=find_pos(

大家好,我正在为我的益智游戏工作,我想添加一个图像,但我不知道如何添加,因为我只是一个初学者,如果我在这里输入了大部分代码,很抱歉。 如何在滑动益智游戏的按钮中添加图像

这是我的密码

private void makeMove(final Button b) {
    bad_move = true;
    int b_pos , zuk_pos, b1;
    b1 = Integer.parseInt((String) b.getText());
    b_pos=find_pos(b1);
    zuk_pos=find_pos(0);
    switch(zuk_pos){
    case (0):
        if(b_pos == 1|| b_pos == 3)
            bad_move=false;
    break;
    case(1):
        if(b_pos == 0 || b_pos == 2|| b_pos == 4)
            bad_move=false;
    break;
    case(2):
        if(b_pos == 1 || b_pos == 5)
            bad_move=false;
        break;
    case(3):
        if(b_pos == 0 || b_pos == 4 || b_pos == 6)
        bad_move=false;
    break;
    case(4):
        if(b_pos==1||b_pos==3||b_pos==5||b_pos==7)
        bad_move=false;
        break;
    case(5):
        if(b_pos==2||b_pos==4||b_pos==8)
        bad_move=false;
        break;
    case(6):
        if(b_pos==3||b_pos==7)
        bad_move=false;
        break;
    case(7):
        if(b_pos==4||b_pos==6||b_pos==8)
        bad_move=false;
        break;
    case(8):
        if(b_pos==5||b_pos==7)
        bad_move=false;
        break;  
    }
    if(bad_move == true){
        // to be decide
        return;
    }
    cells.remove(b_pos);
    cells.add(b_pos, 0);
    cells.remove(zuk_pos);
    cells.add(zuk_pos, b1);

    fill_grid();
    for(int i = 0;i<9; i++){
        if(cells.get(i) != goal[i]){
            return;
        }
    }
    //to be done for finishing touches 
}
private void fill_grid() {
    for(int i =0; i<9;i++){
        int text = cells.get(i);
AbsoluteLayout.LayoutParams absParams = 
    (AbsoluteLayout.LayoutParams) buttons[text].getLayoutParams();

switch(i){
case(0):
    absParams.x = 5;
absParams.y = 5;
buttons[text].setLayoutParams(absParams);
break;
case(1):

    absParams.x = 110;
    absParams.y = 5;
    buttons[text].setLayoutParams(absParams);
    break;
case(2):

    absParams.x = 215;
    absParams.y = 5;
    buttons[text].setLayoutParams(absParams);
    break;
case(3):

    absParams.x = 5;
    absParams.y = 110;
    buttons[text].setLayoutParams(absParams);
    break;
case(4):

    absParams.x =110;
    absParams.y =110;
    buttons[text].setLayoutParams(absParams);
    break;
case(5):

    absParams.x = 215;
    absParams.y =110;
    buttons[text].setLayoutParams(absParams);
    break;
case(6):

    absParams.x = 5;
    absParams.y = 215;
    buttons[text].setLayoutParams(absParams);
    break;
case(7):

    absParams.x = 110;
    absParams.y = 215;
    buttons[text].setLayoutParams(absParams);
    break;
case(8):

    absParams.x = 215;
    absParams.y = 215;
    buttons[text].setLayoutParams(absParams);
    break;

        }
    }   
}
public int find_pos(int element){
    int i = 0;
    for(i = 0;i<9; i++){
        if(cells.get(i) == element){
            break;
        }
    }
    return i;

}

private Button[] findButtons() {
    Button[] b = new Button[9];

    b[0] = (Button) findViewById(R.id.Button00);
    b[1] = (Button) findViewById(R.id.Button01);
    b[2] = (Button) findViewById(R.id.Button02);
    b[3] = (Button) findViewById(R.id.Button03);
    b[4] = (Button) findViewById(R.id.Button04);
    b[5] = (Button) findViewById(R.id.Button05);
    b[6] = (Button) findViewById(R.id.Button06);
    b[7] = (Button) findViewById(R.id.Button07);
    b[8] = (Button) findViewById(R.id.Button08);
    return b;
}
private void makeMove(最终按钮b){
坏动作=真;
国际邮政局、祖克邮政局、b1;
b1=Integer.parseInt((String)b.getText());
b_pos=查找_pos(b1);
zuk_pos=find_pos(0);
开关(zuk_位置){
案例(0):
如果(b|u pos==1 | b|u pos==3)
错误移动=错误;
打破
案例(1):
如果(b|u pos==0 | b|u pos==2 | b|u pos==4)
错误移动=错误;
打破
案例(2):
如果(b|u pos==1 | b|u pos==5)
错误移动=错误;
打破
案例(3):
如果(b|u pos==0 | b|u pos==4 | b|u pos==6)
错误移动=错误;
打破
案例(4):
如果(b|u pos==1 | b|u pos==3 | b|u pos==5 | b|u pos==7)
错误移动=错误;
打破
案例(5):
如果(b|u pos==2 | b|u pos==4 | b|u pos==8)
错误移动=错误;
打破
案例(6):
如果(b|u pos==3 | b|u pos==7)
错误移动=错误;
打破
案例(7):
如果(b|u pos==4 | b|u pos==6 | b|u pos==8)
错误移动=错误;
打破
案例(8):
如果(b|u pos==5 | b|u pos==7)
错误移动=错误;
打破
}
如果(错误移动==真){
//待定
返回;
}
单元。移除(b_位置);
单元格。添加(b_位置,0);
单元。移除(zuk_位置);
单元格。添加(zuk_位置,b1);
填充网格();

对于(int i=0;i而言,首先将您想要使用的任何图像放入您的可绘制文件夹中,您可以在res文件夹中找到该文件夹

您需要进入layout文件夹中使用此代码引用的.XML文件,并使用背景像这样引用图像

          <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button"
            android:background="@drawable/your_image" >


现在,您的图像应该在按钮上。您可以处理这些值并添加更多值以获得所需的图像。图像应该非常直接。

首先将您想要使用的任何图像放在您的可绘制文件夹中,您可以在res文件夹中找到该文件夹

您需要进入layout文件夹中使用此代码引用的.XML文件,并使用背景像这样引用图像

          <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button"
            android:background="@drawable/your_image" >


现在,您的图像应该位于按钮上。您可以将这些值弄乱,然后添加更多值,以获得您想要的效果。图像应该非常直观。

您可以简单地使用ImageButtons,或者设置常规按钮的背景。似乎有什么问题?您可以简单地使用ImageButtons,或者设置常规按钮的背景s、 有什么问题吗?谢谢你的建议。但是我必须一个接一个地裁剪它才能完成。我想要一个代码,使我的图像能够使用java代码自动裁剪,并使用java代码添加。@JhayPat啊,我现在知道你想要什么了。你应该能够使用类似imageView的编程计算延迟每个图像的边界,只需使imageViews可单击,这样它就像一个按钮。谢谢你的建议。但我必须一个接一个地裁剪它才能完成。我想要一个代码,使我的图像使用java代码自动裁剪,并使用java代码添加。@JhayPat啊,我现在明白你想要什么了。你应该能够使用类似imageView的视图,并以编程方式计算每个视图的边界,只需使imageView可单击即可,因此它就像一个按钮。