Среда, 12 Мая 2021, 04:33

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Android платформер
Android платформер
GreexonДата: Вторник, 15 Июля 2014, 20:46 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Помогите с реализацией управления в платформере для Android.
Я научил игрока ходить при помощи сенсорных кнопок и метода Translate, но мне нужно чтобы он разворачивался в ту сторону в которую идёт, подскажите как это лучше всего реализовать.


Сообщение отредактировал Greexon - Вторник, 15 Июля 2014, 20:46
EvolutionEXEДата: Вторник, 15 Июля 2014, 20:59 | Сообщение # 2
был не раз
Сейчас нет на сайте
реализовать на каком коде JavaScript или C# ? dry

Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
GreexonДата: Вторник, 15 Июля 2014, 21:06 | Сообщение # 3
почетный гость
Сейчас нет на сайте
C#
EvolutionEXEДата: Вторник, 15 Июля 2014, 21:16 | Сообщение # 4
был не раз
Сейчас нет на сайте
вот эта ссылка в помощь happy если это не то что нужно извините тогда surprised

Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
GreexonДата: Вторник, 15 Июля 2014, 21:23 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Открылась стартовая страница Unity Scripting API, мне нужно чтобы персонаж смотрел в ту сторону в которую движется.
EvolutionEXEДата: Вторник, 15 Июля 2014, 21:32 | Сообщение # 6
был не раз
Сейчас нет на сайте
я к сожалению мог дать только ссылку, потому что я C# сам плохо знаю, но на C++ могу помочь на ура biggrin , но ведь в Unity же только C# и JS поддерживается dry

Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
GreexonДата: Вторник, 15 Июля 2014, 21:35 | Сообщение # 7
почетный гость
Сейчас нет на сайте
C++ работает со специальным плагином, если можете то расскажите хотя бы логику может хватит учитывая что C# эволюционировал из C++
EvolutionEXEДата: Вторник, 15 Июля 2014, 22:02 | Сообщение # 8
был не раз
Сейчас нет на сайте
он там не корректно работает я проверял dry . а вообще извините но я сейчас занят может после завтра помогу wink .

Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
ЛевшаДата: Вторник, 15 Июля 2014, 22:05 | Сообщение # 9
почти ветеран
Сейчас нет на сайте
Цитата Greexon ()
мне нужно чтобы он разворачивался в ту сторону в которую идёт, подскажите как это лучше всего реализовать.

1. Отрицательный скалинг
2. 2-сторонний материал + поворот по оси Y на 180гр.
3. Смена текстур.
И т.д и т.п.


X.cor.R (Prologue)

Сообщение отредактировал Левша - Вторник, 15 Июля 2014, 22:05
GreexonДата: Вторник, 15 Июля 2014, 22:15 | Сообщение # 10
почетный гость
Сейчас нет на сайте
Платформер с видом сбоку, но в 3D, мне нужны примеры кода поворота на 180 градусов и проверки в какую сторону повёрнут персоонаж при нажатии на кнопку перемещения вправо или влево
ЛевшаДата: Вторник, 15 Июля 2014, 23:56 | Сообщение # 11
почти ветеран
Сейчас нет на сайте
Цитата Greexon ()
в 3D, мне нужны примеры кода поворота на 180 градусов и проверки в какую сторону повёрнут персоонаж при нажатии на кнопку перемещения вправо или влево


transform.eulerAngles.y = 180;
transform.Translate(Vector3.forward * speed);


X.cor.R (Prologue)
GreexonДата: Среда, 16 Июля 2014, 08:33 | Сообщение # 12
почетный гость
Сейчас нет на сайте
Assets/Scripts/ButtonRight.cs(15,50): error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.eulerAngles'. Consider storing the value in a temporary variable
Выдаёт эту ошибку при коде:
Код
using UnityEngine;
using System.Collections;

public class ButtonRight : MonoBehaviour {
  public GameObject Player;
  public Texture2D Start;
  public Texture2D Pressed;

  void Update(){

   foreach (Touch touch in Input.touches) {
    if(this.guiTexture.HitTest(touch.position)){
     this.guiTexture.texture=Pressed;
     Player.transform.Translate(new Vector2(0.1f, 0.0f));
     Player.transform.eulerAngles.y = 180;
    }
    if(touch.phase == TouchPhase.Ended){
     this.guiTexture.texture=Start;
    }
   }
  }
}

Добавлено (16.07.2014, 08:33)
---------------------------------------------
Решил проблему при помощи:transform.rotation = Quaternion.Euler(Vector3)

ЛевшаДата: Среда, 16 Июля 2014, 18:20 | Сообщение # 13
почти ветеран
Сейчас нет на сайте
Цитата Левша ()
transform.eulerAngles.y = 180;

На С# так нельзя писать, это для Js. smile
На С# пишется: transform.eulerAngles = new Vector3(transform.eulerAngles.x, 180, transform.eulerAngles.z);


X.cor.R (Prologue)

Сообщение отредактировал Левша - Среда, 16 Июля 2014, 22:11
GreexonДата: Среда, 16 Июля 2014, 19:16 | Сообщение # 14
почетный гость
Сейчас нет на сайте
Просто я выше писал что мне нужен C#, но спасибо что объяснили
lentinantДата: Среда, 16 Июля 2014, 22:43 | Сообщение # 15
ленивый программист
Сейчас нет на сайте
Цитата Левша ()
transform.eulerAngles.y = 180;

И каким образом это повернет персонажа? Я бы понял, если бы там было +=. Впрочем, используются кнопки, и для другой кнопки использовать приравнивание к 0, то да, сработает.


Когда-то тут будут ссылки на крутые проекты. Или нет.
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Android платформер
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2021 Рейтинг