Я пытаюсь изучить App Inventor 2, реализуя учебники и переделывая некоторые по-другому. В настоящее время я пытаюсь сделать компас похожим на this, но вместо классического вращающегося диска я хочу иметь линейный дисплей, что-то вроде this.Как сделать линейный компас в App Inventor 2
Следует ли, чтобы кодовые блоки, используемые во вращающемся компасе, были изменены таким образом, чтобы иметь линейный компас? Простое изменение отображаемого изображения не работает.
настоящее время я использую этот блок комбинации:
«когда OrientationSensor1.OrientationChanged сделать набор Compass.Heading получить азимут +180 (чтобы получить N всегда)»
Может кто-то дать мне ключ о том, как реализовать рабочий линейный компас в приложении Inventor 2, если это возможно? Спасибо всем за ваши ответы.
Hello @MirecXP. Честно говоря, не ожидал, что кто-то ответит на этот пост, поэтому я благодарю вас. Между тем, я реализовал цифровую версию компаса, называя кардиналы (N, S, E, W) в текстовой метке. Рад, что вы ответили, поэтому я могу следить за вашим подходом, чтобы сделать свое приложение. Я уже воссоздал ваши предложенные блоки, и «N» подходит как письмо в холсте. Вы не указали свой подход к проектированию, я использовал холст и ярлык за пределами холста. Мне нужно было иметь графику с кардиналами, чтобы двигаться в соответствии с направлением (см. Это в моем вопросе). так как это можно сделать на холсте? – user3244633
Нарисуйте кардиналы так же, как текст внутри холста. Вам нужны только холст и объекты датчика ориентации в конструктивной части. – MirecXP
Чтобы использовать некоторую кардинальную графику вместо простого текста, вы можете вставить спрайты изображения в холст и вызвать spriteN.MoveTo (x, y) в процедуре drawCompass, использовать некоторую фиксированную y и рассчитанную позицию для справки x спрайта. Но он не будет отображаться частично, если он будет близок к краю, но он останется всегда полностью видимым. Чтобы он был нарисован точно на краю, вы можете немного уменьшить площадь рисования компаса. – MirecXP