С Новым годом! Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/88: Рейтинг темы: голосов - 88, средняя оценка - 4.94
1 / 1 / 1
Регистрация: 22.05.2017
Сообщений: 35
1

Как зеркально отразить спрайт?

24.07.2017, 23:56. Показов 16871. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
у меня объект двигается за мышью, мне нужно чтобы например при движении мыши направо или налево спрайт разворачивался, помогите пожалуйста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using UnityEngine;
using UnityEngine.UI;
 
public class Control : MonoBehaviour {
 
    public Transform player;
 
 
    [SerializeField]
    private float speed = 10f;
 
    void OnMouseDrag () {
        if (!playerr.lose) {
            Vector3 mousePos = Camera.main.ScreenToWorldPoint (Input.mousePosition);
            mousePos.x = mousePos.x > 2 ? 2 : mousePos.x;
            mousePos.x = mousePos.x < -2 ? -2 : mousePos.x;
 
            
            player.position = Vector2.MoveTowards (player.position,
                new Vector2 (mousePos.x, player.position.y),
                speed * Time.deltaTime);
        }
    }
        
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.07.2017, 23:56
Ответы с готовыми решениями:

Как зеркально отразить персонажа?
public Transform player; public float speed = 10f; void OnMouseDrag(){ Vector3 mousePos =...

Как разрезать спрайт?
У меня есть спрайт https://www.freepng.ru/png-utkalw/download.html. Но мне надо разрезать его на...

Как создать спрайт
Задача создать рандомно из 20 спрайтов , обьекты на поле canvas? буду благодарен вот что ...

Как зеркально отразить этот алгоритм?
procedure TLine.Draw(Canvas: TCanvas); var Point : TPoint; I, dX, dY, Y, X: Integer; ...

8
44 / 17 / 7
Регистрация: 19.09.2015
Сообщений: 55
27.07.2017, 21:30 2
http://answers.unity3d.com/que... ty-2d.html
0
459 / 403 / 153
Регистрация: 23.01.2011
Сообщений: 1,054
28.07.2017, 06:25 3
Тут два варианта: либо на SpriteRenderer использовать flipX, либо изменять transform.localScale по x на отрицательное значение. А проверять - сравнивать позицию мыши - если позиция меньше позиции игрока разворачивать спрайт.
0
1 / 1 / 1
Регистрация: 22.05.2017
Сообщений: 35
28.07.2017, 11:19  [ТС] 4
А как будет выглядeть со SpriteRenderer? Я просто только начал изучать юнити

Добавлено через 5 минут
там добавить две переменные типа Sprite, типо левый и правый спрайт, а дальше как?
0
459 / 403 / 153
Регистрация: 23.01.2011
Сообщений: 1,054
28.07.2017, 17:11 5
Нет. не два спрайта. У SpriteRenderer есть поле flipx типа bool. Емеет два значение true и false. Если true спрайт будет отражен зеркально. Если false как обычно.
0
1 / 1 / 1
Регистрация: 22.05.2017
Сообщений: 35
14.09.2017, 21:49  [ТС] 6
Цитата Сообщение от Prog_maker Посмотреть сообщение
Тут два варианта: либо на SpriteRenderer использовать flipX, либо изменять transform.localScale по x на отрицательное значение. А проверять - сравнивать позицию мыши - если позиция меньше позиции игрока разворачивать спрайт.
__________________
можно по подробнее? Как например сравнить позицию мыши?

Добавлено через 26 минут
Цитата Сообщение от Prog_maker Посмотреть сообщение
Тут два варианта: либо на SpriteRenderer использовать flipX, либо изменять transform.localScale по x на отрицательное значение. А проверять - сравнивать позицию мыши - если позиция меньше позиции игрока разворачивать спрайт.
Тоесть я понимаю что мне нужно смотреть если вектор мыши уменьшается то гг разворачиваю налево, а если увеличивается то гг развернуть направо. Как это в скрипте записать?
0
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
17.09.2017, 20:42 7
PokerV,
Цитата Сообщение от PokerV Посмотреть сообщение
можно по подробнее? Как например сравнить позицию мыши?
Куда подробнее то? Я так понял, Вы хотите за счет форума написать игру? Все равно не выйдет. Почитайте книги еще раз Вам говорю...

Как-то так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using UnityEngine;
using System.Collections;
 
public class RotateObjectScript : MonoBehaviour 
{
    private SpriteRenderer  spriteRenderer  = null;
    private Transform       objectTransform = null;
    void Awake () 
    {
        objectTransform     =   this.transform;
        spriteRenderer      =   GetComponent<SpriteRenderer>();
    }
 
    void Update () 
    {
        Vector2 mousePos    =   Camera.main.ScreenToWorldPoint( Input.mousePosition );
        if( mousePos.x < objectTransform.position.x )
            spriteRenderer.flipX = true;
        else
            spriteRenderer.flipX = false;
    }
}
1
1 / 1 / 1
Регистрация: 22.05.2017
Сообщений: 35
17.09.2017, 21:42  [ТС] 8
Цитата Сообщение от Bretbas Посмотреть сообщение
Я так понял, Вы хотите за счет форума написать игру? Все равно не выйдет. Почитайте книги еще раз Вам говорю...
Спасибо вам огромное вы меня очень очень выручили, нет вы меня не правильно поняли, я не хочу написать игру за счет форума, я сюда просто обратился за помощью, я ничего подобного в мануалах не нашел. Еще раз вам спасибо огромное.
И на последок: какие книги посоветуете почитать?
Я не ленив и за радость почитаю.
0
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
18.09.2017, 08:13 9
PokerV,
Цитата Сообщение от PokerV Посмотреть сообщение
И на последок: какие книги посоветуете почитать?
По программированию в общем. Возьмите за изучение C# к примеру. Скачайте книги, к примеру Андрю Троелсена. Прочитайте с умом, начните практиковаться.
Чтобы разрабатывать игры, нужно как минимум еще знать хорошо линейную алгебру, так как ее применение в GameDev'е очень велико
0
18.09.2017, 08:13
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.09.2017, 08:13
Помогаю со студенческими работами здесь

Зеркально отразить массив
Помогите пожалуйста. Нужно зеркально отразить двухмерный квадратный массив массив, относительно...

Отразить зеркально число
написать программу, позволяющую найти зеркальное число, того, которое введёт пользователь в вижуал...

Зеркально отразить изображение
В Python. В файле image.jpg лежит изображение с одинаковой шириной и высотой. Зеркально отразите...

Зеркально отразить одномерный массив
Есть массив (псевдо-динамический) setlocale(0, &quot;&quot;); const int ArrayMAX = 100;// Константа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru