я имею проблему с холстом, прямоугольниками и размерами экрана:прямоугольников изображений и размер экрана
Я не знаю, что случилось, потому что я использую один и тот же код в обеих эмуляторах, здесь это код:
облака является простым объектом, который содержит изображение и некоторые методы, чтобы переместить их, это то, как я создаю облако:
облака все в одном файл, то координаты являются прямоугольниками, где единственное облако есть.
for (byte i = 0; i < 4; i++) {
Cloud c;
if (i == 1) c = new Cloud(5, 5, 245, 145);
else if (i == 2) c = new Cloud(340, 30, 480, 130);
else if (i == 3) c = new Cloud(565, 30, 725, 130);
else c = new Cloud(830, 20, 980, 130);
c.SetX(0);c.SetY(i * 150);
//c.ReubicarNube();
Clouds.Add(c);
}
Конструктор класса вызова Облако это для обработки изображений (Plain это супер класс облака):
public Plain(int ResourceImg, int left, int top, int right, int bottom){
this.img = BitmapFactory.decodeResource(Init.GetContext().getResources(), ResourceImg);
this.Width = right - left;
this.Height = bottom - top;
this.frameImg = new Rect(left, top, right, bottom);
this.rect = new Rect(0, 0, this.Width, this.Height);
Log.v("Plains", this.frameImg.toString() + " " + this.rect.toString());
}
и это как я рисую:
public void draw(Canvas canvas) {
canvas.drawBitmap(img, frameImg, rect, Init.PaintFilter);
//canvas.drawbi
}
Спасибо заранее за помощь!
У меня были такие проблемы, как в HTML5, где он оказался проблемой разметки с размерами. Какой может быть ключ к изучению. – Shea