Ответы на вопрос:
Рассмотрим множество Компьютерные объекты. Подмножествами являются Устройства, Файлы, Связи, Контейнеры. Каждое подмножество будем рассматривать по отдельности.
Множество Устройства включает в себя всё то, из чего состоит наш компьютер. Здесь мы можем выделить два подмножества: системный блок и периферийные устройства. Во множество системный блок входит все, что в нем находится. Например, процессор, блок питания, материнская плата, жёсткий диск и так далее. Во множество периферийные устройства входят монитор, клавиатура, мышь, принтер, колонки, сканер и так далее.
Вернёмся к множеству Файлы. В них входят файлы программ и документы.
Множество Связи включает в себя значки и ярлыки, так как через них запускаются программы, открываются документы или папки и прочее.
Множество контейнеры. Сюда входят Папки, окна, панель Управления, так как они содержат в себе какие-либо элементы. Например, в папках, как вы уже знаете, могут содержаться файлы и другие папки.
Каждый человек может классифицировать компьютерные объекты по-разному, составляя классификацию, удобную для себя.
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Rigidbody2D))]
public class Player2DControl : MonoBehaviour {
public enum ProjectAxis {onlyX = 0, xAndY = 1};
public ProjectAxis projectAxis = ProjectAxis.onlyX;
public float speed = 150;
public float addForce = 7;
public bool lookAtCursor;
public KeyCode leftButton = KeyCode.A;
public KeyCode rightButton = KeyCode.D;
public KeyCode upButton = KeyCode.W;
public KeyCode downButton = KeyCode.S;
public KeyCode addForceButton = KeyCode.Space;
public bool isFacingRight = true;
private Vector3 direction;
private float vertical;
private float horizontal;
private Rigidbody2D body;
private float rotationY;
private bool jump;
void Start ()
{
body = GetComponent<Rigidbody2D>();
body.fixedAngle = true;
if(projectAxis == ProjectAxis.xAndY)
{
body.gravityScale = 0;
body.drag = 10;
}
}
void OnCollisionStay2D(Collision2D coll)
{
if(coll.transform.tag == "Ground")
{
body.drag = 10;
jump = true;
}
}
void OnCollisionExit2D(Collision2D coll)
{
if(coll.transform.tag == "Ground")
{
body.drag = 0;
jump = false;
}
}
void FixedUpdate()
{
body.AddForce(direction * body.mass * speed);
if(Mathf.Abs(body.velocity.x) > speed/100f)
{
body.velocity = new Vector2(Mathf.Sign(body.velocity.x) * speed/100f, body.velocity.y);
}
if(projectAxis == ProjectAxis.xAndY)
{
if(Mathf.Abs(body.velocity.y) > speed/100f)
{
body.velocity = new Vector2(body.velocity.x, Mathf.Sign(body.velocity.y) * speed/100f);
}
}
else
{
if(Input.GetKey(addForceButton) && jump)
{
body.velocity = new Vector2(0, addForce);
}
}
}
void Flip()
{
if(projectAxis == ProjectAxis.onlyX)
{
isFacingRight = !isFacingRight;
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}
}
void Update ()
{
if(lookAtCursor)
{
Vector3 lookPos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, Camera.main.transform.position.z));
lookPos = lookPos - transform.position;
float angle = Mathf.Atan2(lookPos.y, lookPos.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
}
if(Input.GetKey(upButton)) vertical = 1;
else if(Input.GetKey(downButton)) vertical = -1; else vertical = 0;
if(Input.GetKey(leftButton)) horizontal = -1;
else if(Input.GetKey(rightButton)) horizontal = 1; else horizontal = 0;
if(projectAxis == ProjectAxis.onlyX)
{
direction = new Vector2(horizontal, 0);
}
else
{
if(Input.GetKeyDown(addForceButton)) speed += addForce; else if(Input.GetKeyUp(addForceButton)) speed -= addForce;
direction = new Vector2(horizontal, vertical);
}
if(horizontal > 0 && !isFacingRight) Flip(); else if(horizontal < 0 && isFacingRight) Flip();
}
ИЛИ
using UnityEngine;
using System.Collections;
public class Move : MonoBehaviour {
public GameObject player;
public int speedRotation = 3;
public int speed = 5;
public AnimationClip anima;
public int jumpSpeed = 50;
void Start () {
player = (GameObject)this.gameObject;
animation.AddClip(anima, "animCube");
}
void Update(){
if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow))
{
player.transform.position += player.transform.forward * speed * Time.deltaTime;
animation.CrossFade("animCube");
}
if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow))
{
player.transform.position -= player.transform.forward * speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))
{
player.transform.Rotate(Vector3.down * speedRotation);
}
if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))
{
player.transform.Rotate(Vector3.up * speedRotation);
}
if (Input.GetKeyDown(KeyCode.Space))
{
player.transform.position += player.transform.up * jumpSpeed * Time.deltaTime;
}
}
}
Объяснение:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
melnikowapolia06.01.2020 04:11
-
orlovski15555528.01.2020 05:56
-
alexeyivanovnk123413.04.2023 10:22
-
татьяна103910.05.2021 06:14
-
LetoForever15.01.2021 21:40
-
astafiev9428.10.2020 22:55
-
vadimmikrukov6p07zb108.03.2020 07:26
-
simpleam29.05.2020 22:40
-
Azamatovna1115.02.2022 20:06
-
Dmi3iy29.03.2022 18:04
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.