将球置于等轴测图中

时间:2018-07-29 12:01:28

标签: java android

我正试图借助来制作等距迷宫游戏 https://github.com/FabianTerhorst/Isometric

我能够创建一个迷宫,但是我无法弄清楚如何在正确适合迷宫的等距迷宫中放置一个球体(或球),以使这些后视图,可见的看不见的视图不打扰为。例如,在某些地方,球会藏在墙上,而在某些地方,墙壁会藏在墙上,我应该如何进行? 还有一些可以使球旋转的方法,就像真实的旋转一样

package com.example.mkmnim.maze

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.EventLog
import android.util.Log
import android.util.MutableFloat
import android.view.MotionEvent
import android.widget.ImageView
import io.fabianterhorst.isometric.paths.Circle
import kotlinx.android.synthetic.main.activity_main.*
import io.fabianterhorst.isometric.shapes.Prism
import org.json.JSONObject
import com.example.mkmnim.maze.R.id.isometricView
import io.fabianterhorst.isometric.*
import java.lang.Math.abs


class MainActivity : AppCompatActivity()
{

    lateinit var ballView: ImageView

    inline fun <reified T> toArray(list: List<*>): Array<T>
    {
        return (list as List<T>).toTypedArray()
    }

    override fun onCreate(savedInstanceState: Bundle?)
    {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        var mazeJson: JSONObject? = JSONObject(utils.getJson("maze1.json", this))
        try
        {


            for (i in 1..21)
            {
                for (j in 1..11)
                {
                    Log.i("mytag", i.toString() + "," + j.toString())
                    if (mazeJson != null)
                    {
                        if (mazeJson.getJSONObject((i - 1).toString()).getBoolean((j - 1).toString()))
                        {
                            var prism = Prism(Point((i - 3).toDouble() * 0.5, (j - 3).toDouble() * 0.5, 0.0), 0.5, 0.5, 0.5)
                            isometricView.add(prism, Color(33.0, 150.0, 243.0))
                        }
                    }

                }
            }
        }
        catch (ex: Exception)
        {
            Log.i("mytag", ex.message.toString())
        }




        ballView = ball
    }
}

JSON

{"0":{"0":true,"1":true,"2":true,"3":true,"4":true,"5":true,"6":true,"7":true,"8":true,"9":true,"10":true},"1":{"0":true,"1":false,"2":false,"3":false,"4":true,"5":false,"6":false,"7":false,"8":false,"9":false,"10":true},"2":{"0":true,"1":false,"2":true,"3":true,"4":true,"5":true,"6":true,"7":true,"8":true,"9":false,"10":true},"3":{"0":true,"1":false,"2":false,"3":false,"4":false,"5":false,"6":false,"7":false,"8":true,"9":false,"10":true},"4":{"0":true,"1":false,"2":true,"3":true,"4":true,"5":false,"6":true,"7":true,"8":true,"9":false,"10":true},"5":{"0":true,"1":false,"2":true,"3":false,"4":true,"5":false,"6":true,"7":false,"8":false,"9":false,"10":true},"6":{"0":true,"1":false,"2":true,"3":false,"4":true,"5":false,"6":true,"7":true,"8":true,"9":false,"10":true},"7":{"0":true,"1":false,"2":true,"3":false,"4":true,"5":false,"6":false,"7":false,"8":true,"9":false,"10":true},"8":{"0":true,"1":false,"2":true,"3":false,"4":true,"5":true,"6":true,"7":false,"8":true,"9":false,"10":true},"9":{"0":true,"1":false,"2":false,"3":false,"4":false,"5":false,"6":true,"7":false,"8":false,"9":false,"10":true},"10":{"0":true,"1":false,"2":true,"3":true,"4":true,"5":false,"6":true,"7":true,"8":true,"9":false,"10":true},"11":{"0":true,"1":false,"2":true,"3":false,"4":false,"5":false,"6":false,"7":false,"8":true,"9":false,"10":true},"12":{"0":true,"1":false,"2":true,"3":false,"4":true,"5":true,"6":true,"7":false,"8":true,"9":false,"10":true},"13":{"0":true,"1":false,"2":true,"3":false,"4":true,"5":false,"6":true,"7":false,"8":false,"9":false,"10":true},"14":{"0":true,"1":false,"2":true,"3":true,"4":true,"5":false,"6":true,"7":true,"8":true,"9":false,"10":true},"15":{"0":true,"1":false,"2":false,"3":false,"4":false,"5":false,"6":false,"7":false,"8":false,"9":false,"10":true},"16":{"0":true,"1":false,"2":true,"3":false,"4":true,"5":true,"6":true,"7":false,"8":true,"9":false,"10":true},"17":{"0":true,"1":false,"2":true,"3":false,"4":true,"5":false,"6":true,"7":false,"8":true,"9":false,"10":true},"18":{"0":true,"1":false,"2":true,"3":false,"4":true,"5":false,"6":true,"7":true,"8":true,"9":false,"10":true},"19":{"0":true,"1":false,"2":false,"3":false,"4":true,"5":false,"6":false,"7":false,"8":false,"9":false,"10":true},"20":{"0":true,"1":true,"2":true,"3":true,"4":true,"5":true,"6":true,"7":true,"8":true,"9":true,"10":true}}

utils.kt

package com.example.mkmnim.maze

import android.content.Context
import android.util.Log
import java.io.IOException
import java.nio.charset.Charset

object utils
{
    fun getJson(filename: String, context: Context): String?
    {
        var json: String? = null
        try
        {
            var iqw = context.getAssets().open(filename)
            val size = iqw.available()

            val buffer = ByteArray(size)
            iqw.read(buffer)
            iqw.close()
            json = String(buffer, Charset.defaultCharset())
        }
        catch (ex: IOException)
        {
            ex.printStackTrace()
            Log.i("mytag", ex.toString())

        }
        return json
    }
}

0 个答案:

没有答案
相关问题