[英]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.