#smallbasic
#малая основа
Вопрос:
GraphicsWindow.Width = 1080 GraphicsWindow.Height = 607.5 gw = 1080 gh = 607.5 GraphicsWindow.Left = 0 GraphicsWindow.Top = 0 dw = Desktop.Width dh = Desktop.Height WidthMod = dw / gw HeightMod = dh / gh newWidth = 1080 * WidthMod newHeight = 607.5 * HeightMod distanceWidth = newWidth - gw distanceHeight = newHeight - gh LDGraphicsWindow.Reposition(WidthMod, HeightMod, distanceWidth / 2, distanceHeight / 1.3, 0)
Команда reposition имеет синтаксис: reposition(масштабирование, масштабирование, панорамирование, панорамирование, угол) Я не понимаю, почему деление ширины расстояния (это разница между размером старого экрана и нового экрана) на 2 или деление высоты расстояния на 1,3 переносит игру в самый верхний угол, где мне это нужно. Я хочу развернуть его так, чтобы эта игра имела одинаковый вид, зависящий только от соотношения 16:9.
ПОМОГИТЕ ПЛЕСАЕ ОМГ ПЛЕСАЕ : (((((
Ответ №1:
LDGraphicsWindow.Repsoition
на самом деле окно вообще не перемещается и не масштабируется, оно просто перемещает все фигуры внутри окна. Вероятно, это не то, что вы ищете.
Если вы просто пытаетесь создать и центрировать самое большое графическое окно для заданного соотношения сторон, это можно легко сделать с помощью довольно стандартного кода:
textRatio = "16:9" ratioArr = LDText.Split(textRatio, ":") ratio = ratioArr[1] / ratioArr[2] ' Get the numerical ratio from the text curRatio = Desktop.Width/Desktop.Height ' Get the current ratio GraphicsWindow.Show() If curRatio gt; ratio Then 'Screen is too wide GraphicsWindow.Width = Desktop.Height * ratio GraphicsWindow.Height = Desktop.Height ElseIf curRatio lt; ratio Then 'Screen is too tall GraphicsWindow.Height = Desktop.Width / ratio GraphicsWindow.Width = Desktop.Width EndIf 'Center the window GraphicsWindow.Left = (Desktop.Width/2)-(GraphicsWindow.Width/2) GraphicsWindow.Top = (Desktop.Height/2)-(GraphicsWindow.Height/2)
Комментарии:
1. но я хочу масштабировать фигуры, используя изменение положения для нового размера, без ldgraphicswindow.изменение положения, возможно ли это в небольших размерах?
2. например, предположим, что в комнате 600х600 есть комната 100х100. Вид должен быть одинаковым, т. е. Больший экран не выгоден. Я немного новичок, поэтому прошу прощения, если мои вопросы трудно понять, но если вы понимаете, что я имею в виду, как это можно масштабировать в небольших размерах?