Вниз  Игра "CounterStrike2D Portable"
- 2.05.2013 / 20:47
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
Появилась небольшая проблема - при загрузке entities на карте, появляется OutOfMemory Error. Это из-за того что я поворачиваю картинки, но по другому нельзя, оптимизация не помогает (
- 3.05.2013 / 09:59
DominaN
  Пользователь

DominaN 
Сейчас: Offline
BorderFol, Плохо оптимизируешь. Кинь код загрузки и поворота в личку
- 3.05.2013 / 10:31
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
DominaN, проблема уже решена
- 3.05.2013 / 10:41
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
Баг при повороте картинки - треть картинки пропадает

Изменено BorderFol (3.05 / 10:41) (всего 1 раз)


Прикрепленные файлы:
1.png (31.62 кб.) Скачано 95 раз
- 3.05.2013 / 10:44
Magatino
  Администратор

Magatino 
Сейчас: Offline
BorderFol, Три картинки бы нарисовал и через спрайт поварачивал , 12 сторон вполне хватит :)
- 3.05.2013 / 10:59
DominaN
  Пользователь

DominaN 
Сейчас: Offline
BorderFol, Потому что размер картинки при повороте меняется, обсуждали уже десять раз
- 3.05.2013 / 11:01
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
DominaN,
  1. public static int[] rotate(int[] ai, int j, int k, int i, int[] dd)
  2.    {
  3.        final int l1 = sin(i);
  4.        final int i2 = cos(i);
  5.        int j2 = j / 2;
  6.        int k2 = k / 2;
  7.        final int x1 = (i2 * j) / 1000, y1 = (l1 * j) / 1000;
  8.        final int x2 = (-l1 * k) / 1000, y2 = (i2 * k) / 1000;
  9.        final int x3 = (i2 * j - l1 * k) / 1000, y3 = (l1 * j + i2 + k) / 1000;
  10.        int minX = 0;
  11.        if(minX > x1) minX = x1;
  12.        if(minX > x2) minX = x2;
  13.        if(minX > x3) minX = x3;
  14.        int maxX = 0;
  15.        if(maxX < x1) maxX = x1;
  16.        if(maxX < x2) maxX = x2;
  17.        if(maxX < x3) maxX = x3;
  18.        int minY = 0;
  19.        if(minY > y1) minY = y1;
  20.        if(minY > y2) minY = y2;
  21.        if(minY > y3) minY = y3;
  22.        int maxY = 0;
  23.        if(maxY < y1) maxY = y1;
  24.        if(maxY < y2) maxY = y2;
  25.        if(maxY < y3) maxY = y3;
  26.        final int j3 = maxX - minX;
  27.        final int k3 = maxY - minY;
  28.        /*j2 = j3 / 2;
  29.        k2 = k3 / 2;*/
  30.        final int ai1[] = new int[j3 * k3];
  31.        int l, i1;
  32.        for (int k1 = 0; k1 < k3; k1++)
  33.        {
  34.            for (int j1 = 0; j1 < j3; j1++)
  35.            {
  36.                ai1[k1 * j3 + j1] = 0;
  37.                l = ((i2 * (j1 - j2) + l1 * (k1 - k2)) / 1000 + j2);
  38.                i1 = (-(l1 * (j1 - j2) - i2 * (k1 - k2)) / 1000 + k2);
  39.                if (i1 > -1 && l > -1 && i1 < k && l < j)
  40.                {
  41.                  ai1[(k1) * j3 + (j1)] = ai[i1 * j + l];
  42.                }
  43.            }
  44.  
  45.        }
  46.        dd[0] = j3;
  47.        dd[1] = k3;
  48.        return ai1;
  49.    }

- 3.05.2013 / 11:05
DominaN
  Пользователь

DominaN 
Сейчас: Offline
А с нормальными именами?
- 3.05.2013 / 11:08
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
DominaN, нету
- 3.05.2013 / 11:21
Magatino
  Администратор

Magatino 
Сейчас: Offline
BorderFol, Тебе делать нечего , давно бы работал над игровыми действиями , для подобных игр 8 сторон хватает , значит опять игры не будет.
Наверх  Всего сообщений: 883
Фильтровать сообщения
Поиск по теме
Файлы топика (44)