новая картинка Сейчас я пытаюсь нарисовать текст (число) внутри прямоугольника, который я рисую. Я хочу сделать 2048, чтобы узнать больше о случаях использования Android и Kotlin. Но когда я хочу создать плитки, у меня возникает большая проблема. Обычно числа предполагаются внутри прямоугольника, но в моем случае они на один прямоугольник выше исходного. Так что в последнем ряду фишек у меня нет цифр, а в верхней части есть цифры над фактическим игровым полем. Если вы на самом деле не понимаете мой вопрос, просто напишите комментарий, я постараюсь сделать его лучше.
Важно: просто изменить текстовую строку текста не поможет, она будет просто переписаназатем следующий прямоугольник.
Это мой класс, с помощью которого я рисую отдельные плитки:
fun drawTile() {
var number = tile.number
var cordX = tile.x
var cordY = tile.y
shapeDrawable = ShapeDrawable(RectShape())
shapeDrawable.setBounds(cordX, cordY, tileWidth, tileHeight)
shapeDrawable.getPaint().color = tile.tileColor
shapeDrawable.draw(canvas)
if(number != 0) {
var paintText = Paint(Paint.ANTI_ALIAS_FLAG)
paintText.color = Color.BLACK
paintText.textSize = 50f
val numberString = "$number"
paintText.setShadowLayer(10f, 10f, 10f, Color.BLACK)
canvas.drawText(numberString, cordX.toFloat()+tileWidth/2, cordY.toFloat()+10, paintText)
}
shapeDrawable.draw(canvas)
Вот картинка, как это выглядит в игре