Добавление изображений
Пришло время заменять наши прямоугольники и эллипсы изображениями.Изображения относятся к классу Shapes.
Откуда брать изображения для игр
Рисовать самим, либо использовать готовые бесплатные решения. Например, есть чудесный сайт kenney.nl с красивыми ассетами для игр:https://www.kenney.nl/assets
Для обработки изображений (смены размеров, обрезки и т.д.) рекомендую использовать программу Figma:
https://www.figma.com/downloads/
Try it out
1. Изображения должны храниться в папке с проектом, поэтому создайте новый проект и сохраните его. В папке с проектом создайте папку "resources" – в ней будут храниться изображения.
2. Программу начинаем со стандартной процедуры – настроек графического окна:
width = 800
height = 600
GraphicsWindow.Width = width
GraphicsWindow.Height = height
3. Изменим фон окна на изображение. Скачайте его и сохраните в папку "resources" под названием background.png.
4. Для того, чтобы использовать то или иное изображение, в программе следует указывать его адрес. Давайте загрузим адрес фона:
programAdress = Program.Directory 'Адрес папки с программой
backgroundImgAdress = programAdress + "/resources/background.png" 'Адрес изображения
5. Теперь, используя адрес фона, можно добавить само изображение:
background = Shapes.AddImage(backgroundImgAdress)
Запустите программу и если всё правильно, фон должен измениться.
6. Скачайте такие изображения (64x64 пикселей), загрузите в папку с ресурсами и переименуйте:
7. Загрузим их адреса
boxImgAdress = programAdress + "/resources/box.png"
treeImgAdress = programAdress + "/resources/tree.png"
8. Сделаем подпрограмму-конструктор для дерева в случайном месте:
Sub createRandomTree
treeX = Math.GetRandomNumber(width)
treeY = Math.GetRandomNumber(height)
tree = Shapes.AddImage(treeImgAdress)
Shapes.Move(tree, treeX, treeY)
EndSub
9. И вызовем её 40 раз:
For i=1 To 40
createRandomTree()
EndFor
В конспект
programAdress = Program.Directory 'Адрес папки с программой
imgAdress = programAdress + "/resources/img.png"
Задачи
Задача 9.1*. Закончите программу из Try it out – допишите подпрограмму для случайного добавления ящиков. Сделайте так, чтобы ящики не накладывались поверх деревьев, а были как бы под деревьями.Задача 9.2*. Создайте графическое окно размерами 800 на 600. Равномерно заполните первый ряд 20 текстурами 40х40 пикселей.
Задача 9.3**. Дополните предыдущую задачу, заполнив текстуркой не только первый ряд, но и все остальные.
Задача 9.4***. Измените предыдущую задачу так, чтобы окно равномерно заполнялось рандомными текстурами с такой вероятностью:
зелёная структура - 80%
коричневая - 10%
серая - 10%
Вот видео для наглядной демонстрации проекта в действии:
Дополнительные текстуры:
Задача 9.5****. Сделайте проект "Гонки". После запуска программы три автомобиля двигаются на случайное количество пикселей вправо. Какая машина первая касается правой стороны экрана – та и побеждает. Об этом должна уведомить надпись. Может быть ситуация, когда две машины одновременно касаются финиша – тогда они обе выигрывают.
Вот видео для наглядной демонстрации проекта в действии:
Вам понадобятся изображения:
СПС
ОтветитьУдалить