gpt4 book ai didi

android - 使用坐标系在android屏幕上绘图

转载 作者:行者123 更新时间:2023-11-30 03:42:39 25 4
gpt4 key购买 nike

我的问题一开始可能读起来很困惑,所以请耐心等待。我将从上下文的小序言开始:

前言:

我有一个应用程序将使用数组从 map 中查找路径。

^那是很模糊的:会有一个字符数组,代表墙壁、楼梯等,并且会有一个找到最佳路径的函数。

我想在android屏幕上显示路径。

数组函数生成的字符代表生成的路径(可能是“x”或其他)。


好吧,说得更清楚一点:数组中将有一个 'x' 的“路径”。这些“x”代表将要显示在 Android 屏幕上的路径。


我的实际问题:

如何将数组中的“x”转换为在屏幕上显示一行?我想到了使用 for 循环/if 语句来检查如果有一个“x”,如果有,则在代表实际屏幕的第二个数组中显示一个小红点/线。

我试图找到它,但在 google 中输入它是如此尴尬,所以我一无所获地完成了我的研究。

是否有某种内置的 android 函数可以让您为不同的坐标分配不同的颜色?


This is kind of what I want to appear on the screen. If this were the app, the blue would be represented by 'x's in the first array.

最佳答案

有几种方法可以实现将坐标系映射到描述路径的矩阵的效果。

根据数组的大小和更新调用的频率(听起来路径查找在一次渲染后运行一次),循环遍历可能不会太昂贵。我个人会做的是开始研究如何在 Canvas 上绘图、获取屏幕尺寸并相应地调整边界。

Get screen dimensions in pixels - 如何获取屏幕尺寸 http://danielnadeau.blogspot.com/2012/01/android-canvas-beginners-tutorial.html - 一个很好的 Canvas 教程

一旦您可以在缩放的 Canvas 上绘图,只需运行一个类似于以下内容的循环即可:

float scale_x = screen_width/columns;
float scale_y = screen_height/rows; //pixels per grid square
for( int x = 0; x < columns; x++)
for( int y = 0; y < rows; y++)
if( data[x][y] == 'x') drawRect(x*scale_x, y*scale_y, scale_x,scale_y) //if something found, draw a colored square

关于android - 使用坐标系在android屏幕上绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15489135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com