【发布时间】:2019-09-30 08:25:01
【问题描述】:
new picture 现在我正在尝试在我绘制的矩形内绘制一个文本(一个数字)。我想制作2048来了解更多关于android和kotlin的用例。但是当我想创建瓷砖时,我遇到了一个大问题。通常这些数字应该在矩形内,但在我的情况下,它们是原始矩形上方的一个矩形。所以在最后一行瓷砖我没有数字,而在顶部有实际游戏区域上方的数字。如果你真的不明白我的问题,就写一个评论,我会努力让它变得更好。
重要提示:仅更改文本的 y 线并没有帮助,它只会被下一个矩形透支。
这是我用来绘制单个图块的班级:
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)
【问题讨论】:
标签: java android kotlin text drawing