Viewport x, y, width, height

Параметры

x = координата x верхнего левого угла окна
y = координата y верхнего левого угла окна
width = ширина окна (в пикселах)
height = высота окна (в пикселах)

Описание

Есть МНОГО случаев, когда Вы можете захотеть отобразить графические объекты (инопланетян, корабли, и т.д) ТОЛЬКО в определенной области экрана, не затрагивая другие области. Это часто называется как "работа с окнами" или "отсечение" области. Обычно, сначала Вы выполните все операции рисования (фон, управление и т.д), а затем организуете "окно" на экране, в который и выведете нужное изображение. Есть миллион применений для этого окна; можно вверху экрана вывести радарные экраны, изобразить простое окно с полосами прокрутки и т.д. Это немного сложнее, чем большинство графических команд, так что убедитесь, что Вы имеете достаточно опыта и знаний перед попыткой использовать это. Самая полезная подсказка, которую я могу дать Вам об этой команде: НЕ ЗАБУДЬТЕ ОЧИСТИТЬ ОБЛАСТЬ ПРОСМОТРА (окно), КОГДА ВЫ ЕГО СОЗДАЛИ! Сделайте это, устанавливая область просмотра окна размером во весь экран (то есть: Viewport 0,0,640,480, если ваша игра использует разрешение 640x480). Тщательно изучите пример. Помните, второй набор чисел - НЕ КООРДИНАТЫ окончания окна, а РАЗМЕР окна, начинающегося в первых координатах.

Пример

; Пример ViewPort

; Установим графический режим
Graphics 800,600

; Установим двойную буферизацию
SetBuffer BackBuffer()

; Окно будет начинаться в координатах 100,100 и размеры его 200,200 пикселов
Viewport 100,100,200,200

; Будем рисовать случайные прямоугольники случайного цвета
While Not KeyHit(1)
Cls ; Очищаем экран
For t = 1 To 100 ; рисуем по 100 прямоугольников за один проход цикла
Color Rnd(255),Rnd(255),Rnd(255) ; устанавливаем случайный цвет
Rect Rnd(800),Rnd(600),Rnd(300),Rnd(300),Rnd(0,1) ; случайные размеры и координаты, некоторые-закрашенные
Next ; рисовать следующий
Flip ; буфер-на экран
Wend

Главная страница

Нажмите сюда, чтобы увидеть последнюю версию этой страницы в Интернете