首页 > 解决方案 > 执行 DrawSurface 时遇到问题(显示可绘制文件夹中的图像)

问题描述

所以我正在为我的班级制作一个寻宝迷你游戏。现在我正试图让我的图像显示在 SurfaceView 上。当我加载游戏的当前版本时,它崩溃了。我在想我的布局错了吗?或者也许我的课程/方法是错误的?总体概念是单击屏幕上的任意位置以挖掘项目。单击时,项目在屏幕上以文本显示。我已上传到原始文件夹的项目列表。

这是我到目前为止所拥有的:package edu.fullsail.mgems.cse.treasurehunter.justinrhinehart;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Camera;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Button;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {//used to create what is being clicked like a button
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn = (Button) findViewById(R.id.btnCredits);
        btn.setOnClickListener(this);

        btn = (Button) findViewById(R.id.btnInventory);
        btn.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        AlertDialog.Builder dialog = new AlertDialog.Builder(this);
        dialog.setTitle("Made By");
        dialog.setMessage("Justin Rhinehart\nMGMS | APM\n5/5/2021");
        dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
            }
        });
        dialog.show();
    }

    public class TreasureHunt {
        public void main(String[] args) {
            String path = "C:\\.android\\Treasure\\app\\src\\main\\res\\raw\\items.csv";
            String line = ",";

            try {
                BufferedReader br = new BufferedReader(new FileReader(path));

                while ((line = br.readLine()) != null) {
                    String[] values = line.split(",");
                    System.out.println(line);
                }

            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    public abstract class DrawSurface extends SurfaceView implements SurfaceHolder.Callback {
        SurfaceHolder mHolder;
        Camera mCamera;

        public DrawSurface(Context context) {
            super(context);
            init();
        }

        public DrawSurface(Context context, AttributeSet attrs) {
            super(context, attrs);
            init();
        }

        private void init() {
        }

        public DrawSurface(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
            init();
        }
    }
}

任何帮助都将不胜感激,因为我目前在获取图像时迷失了方向。

标签: javaandroid-studio

解决方案


推荐阅读