Система координат
Стандартное разрешение экрана 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);
}