Система координат

Стандартное разрешение экрана TIC составляет 240 пикселей в ширину и 136 пикселей в высоту.
Пропорции сохраняются при изменении размера, поэтому из кода работа всегда ведется с «виртуальным» родным разрешением, даже если Вы работаете с монитором 4K в полно-экранном режиме.
Координаты, как и в большинстве компьютерных систем координат, начинаются с верхнего-левого угла экрана.
Координата X - координата по горизонтали, начинается с 0 (левая сторона) до 240 (правая сторона).
Координата Y - координата по вертикали, начинается с 0 (верх) до 136 (низ).

Пример:

Запустить или скачать картридж примера.

-- title:  Coordinate system demo
-- author: Filippo
-- desc:   shows coordinate system
-- script: lua
-- input:  gamepad

function TIC()
  cls(0)

  --grid x
  for x=0,240,32 do
    line(x,0,x,136,8)
  end

  --grid y
  for y=0,136,32 do
    line(0,y,240,y,8)
  end

  --grid cross
  for x=0,240,32 do
    for y=0,136,32 do
      pix(x,y,6)
    end
  end

  --arrows
  line(8,8,210,8,6)
  line(210,8,210-6,8-2,6)
  line(210,8,210-6,8+2,6)

  line(8,8,8,120,6)
  line(8,120,8-2,120-6,6)
  line(8,120,8+2,120-6,6)

  --labels
  for x=0,240,64 do
    for y=0,136,64 do
      print('('..x..','..y..')',x+2,y+2)
    end
  end

  --reference
  print('(X,Y)',12,12)
end

Запустить или скачать картридж примера.

-- title:  Coordinate system demo
-- author: Filippo
-- desc:   shows coordinate system
-- script: moon
-- input:  gamepad

export TIC=->
  cls 0

  --grid x
  for x=0,240,32
    line x,0,x,136,8

  --grid y
  for y=0,136,32
    line 0,y,240,y,8

  --grid cross
  for x=0,240,32
    for y=0,136,32
      pix x,y,6

  --arrows
  line 8,8,210,8,6
  line 210,8,210-6,8-2,6
  line 210,8,210-6,8+2,6

  line 8,8,8,120,6
  line 8,120,8-2,120-6,6
  line 8,120,8+2,120-6,6

  --labels
  for x=0,240,64
    for y=0,136,64
      print '('..x..','..y..')',x+2,y+2

  --reference
  print '(X,Y)',12,12
// title:  Coordinate system demo
// author: Filippo
// desc:   shows coordinate system
// script: js
// input:  gamepad

function TIC() {
  cls(0);

  //grid x
  for (var x = 0; x < 240; x += 32) {
    line(x, 0, x, 136, 8);
  }

  //grid y
  for (var y = 0; y < 136; y += 32) {
    line(0, y, 240, y, 8);
  }

  //grid cross
  for (var x = 0; x < 240; x += 32) {
    for (var y = 0; y < 136; y += 32) {
      pix(x, y, 6);
    }
  }

  //arrows
  line(8, 8, 210, 8, 6);
  line(210, 8, 210 - 6, 8 - 2, 6);
  line(210, 8, 210 - 6, 8 + 2, 6);

  line(8, 8, 8, 120, 6);
  line(8, 120, 8 - 2, 120 - 6, 6);
  line(8, 120, 8 + 2, 120 - 6, 6);

  //labels
  for (var x = 0; x < 240; x += 64) {
    for (var y = 0; y < 136; y += 64) {
      print('(' + x + ',' + y + ')', x + 2, y + 2);
    }
  }

  //reference
  print('(X,Y)', 12, 12);
}

results matching ""

    No results matching ""