簡體   English   中英

如何使用在高密度屏幕上可見的繪制點

[英]How do you use draw points visible on high dense screens

我試圖在游戲中留出空間,並想在背景中添加星星。 我決定提出一個float[] points並將其隨機化。 然后,我使用canvas.drawPoints(points, white); 這在我的模擬器上效果很好。 在電話上,您幾乎看不到要點。 我想知道我是否可以擁有大於像素的點(我知道那沒有意義)或使用諸如drawRects(points, size, paint); 使用for循環效率不高,這會使游戲變得遲鈍。 還有其他方法還是我必須忍受滯后。

謝謝!

它與模擬器和電話的不同密度有關。 不同屏幕上的1像素具有不同的物理尺寸。 您應該使用dp(獨立於像素或密度的像素),然后將其轉換為像素。

因此,您的代碼應如下所示:

ind dpRadius = 1;
Resources r = getResources();
float pxRadius = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpRadius, r.getDisplayMetrics());

Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setStrokeWidth(pxRadius);
paint.setStyle(Paint.Style.STROKE);

// your drawPoints code ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM