2.05.2013 / 20:47 | |
BorderFol Пользователь Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| Появилась небольшая проблема - при загрузке entities на карте, появляется OutOfMemory Error. Это из-за того что я поворачиваю картинки, но по другому нельзя, оптимизация не помогает (
|
3.05.2013 / 09:59 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| BorderFol, Плохо оптимизируешь. Кинь код загрузки и поворота в личку
|
3.05.2013 / 10:31 | |
BorderFol Пользователь Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| DominaN, проблема уже решена
|
3.05.2013 / 10:41 | |
BorderFol Пользователь Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| Баг при повороте картинки - треть картинки пропадает
Изменено BorderFol (3.05 / 10:41) (всего 1 раз)
Прикрепленные файлы: 1.png (31.62 кб.) Скачано 95 раз |
3.05.2013 / 10:44 | |
Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| BorderFol, Три картинки бы нарисовал и через спрайт поварачивал , 12 сторон вполне хватит |
3.05.2013 / 10:59 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| BorderFol, Потому что размер картинки при повороте меняется, обсуждали уже десять раз
|
3.05.2013 / 11:01 | |
BorderFol Пользователь Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| DominaN, public static int[] rotate(int[] ai, int j, int k, int i, int[] dd)
{
final int l1 = sin(i);
final int i2 = cos(i);
int j2 = j / 2;
int k2 = k / 2;
final int x1 = (i2 * j) / 1000, y1 = (l1 * j) / 1000;
final int x2 = (-l1 * k) / 1000, y2 = (i2 * k) / 1000;
final int x3 = (i2 * j - l1 * k) / 1000, y3 = (l1 * j + i2 + k) / 1000;
int minX = 0;
if(minX > x1) minX = x1;
if(minX > x2) minX = x2;
if(minX > x3) minX = x3;
int maxX = 0;
if(maxX < x1) maxX = x1;
if(maxX < x2) maxX = x2;
if(maxX < x3) maxX = x3;
int minY = 0;
if(minY > y1) minY = y1;
if(minY > y2) minY = y2;
if(minY > y3) minY = y3;
int maxY = 0;
if(maxY < y1) maxY = y1;
if(maxY < y2) maxY = y2;
if(maxY < y3) maxY = y3;
final int j3 = maxX - minX;
final int k3 = maxY - minY;
/*j2 = j3 / 2;
k2 = k3 / 2;*/
final int ai1[] = new int[j3 * k3];
int l, i1;
for (int k1 = 0; k1 < k3; k1++)
{
for (int j1 = 0; j1 < j3; j1++)
{
ai1[k1 * j3 + j1] = 0;
l = ((i2 * (j1 - j2) + l1 * (k1 - k2)) / 1000 + j2);
i1 = (-(l1 * (j1 - j2) - i2 * (k1 - k2)) / 1000 + k2);
if (i1 > -1 && l > -1 && i1 < k && l < j)
{
ai1[(k1) * j3 + (j1)] = ai[i1 * j + l];
}
}
}
dd[0] = j3;
dd[1] = k3;
return ai1;
}
|
3.05.2013 / 11:05 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| А с нормальными именами?
|
3.05.2013 / 11:08 | |
BorderFol Пользователь Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| DominaN, нету
|
3.05.2013 / 11:21 | |
Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| BorderFol, Тебе делать нечего , давно бы работал над игровыми действиями , для подобных игр 8 сторон хватает , значит опять игры не будет.
|