Вы находитесь на странице: 1из 4

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное учреждение


высшего образования

Лабораторная работа №3
«Работа с положением устройства в пространстве»
по дисциплине
«Разработка мобильных приложений»

Выполнил:
студент гр.
_______
«___» __________ 2021 г.

Проверил:
ст. преподаватель каф
КСУП
_________
«____» _________ 2021 г.

2021
Задание: реализовать программу-игру: на экране устройства катается
«шарик», направление движения определяется наклоном устройства
относительно горизонта. При достижении «шариком» края экрана он должен
продолжать движение до угла. Скорость движения шарика регулируется
величиной угла наклона устройства.
В качестве среды разработки был выбран Unity 2021.2.5f1, а в качестве
языка разработки был использован язык c#.
На рисунке 1 продемонстрировано главное окно среды разработки.

Рисунок 1 – Главное окно среды разработки

Данное приложение было реализовано с помощью Input.acceleration из


библиотеки Unity.Engine. С помощью Input.acceleration можно управлять
направлением объекта, а также его скорость в 3D пространстве.
Для тестирование мини игры было взято мобильное устройство xiaomi
redmi note 5 pro. Тестирование и установщик игры находятся на отдельных
файлах test.mp4 и lab3.apk соответственно.

Выводы
В ходе выполнения лабораторной работы была реализована программа-
игра, в которой можно управлять движением и скоростью шарика с помощью
наклона мобильного устройства.
Приложение А
Код программы
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class BallControlScript : MonoBehaviour


{

Rigidbody2D rb;

[Range(0.2f, 2f)]
public float moveSpeedModifier = 0.5f;

float dirX, dirY;

static bool moveAllowed;

void Start () {
moveAllowed = true;
rb = GetComponent<Rigidbody2D> ();
}

void Update () {
dirX = Input.acceleration.x * moveSpeedModifier;
dirY = Input.acceleration.y * moveSpeedModifier;
}

void FixedUpdate()
{
if (moveAllowed)
rb.velocity = new Vector2 (rb.velocity.x + dirX, rb.velocity.y +
dirY);
}
void RestartScene()
{
SceneManager.LoadScene ("Scene01");
}
}

Вам также может понравиться