 |
Unity Мультиплатформенный инструмент для разработки игр |
19.07.2011, 02:54
|
#481
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Фак по Юнити.
Например сохранение уровня
PlayerPrefs.SetInt("Lvl", 5);
Чтение сохраненных данных
int _start_Level=PlayerPrefs.GetInt("Lvl");
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
20.07.2011, 20:02
|
#482
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
При создании hud'a столкнулся с такой проблемой. Есть показатель очков и рамка в которой он должен быть. Но рамка находится на один уровень выше, чем gui с очками, поэтому заслоняет их. Как исправить?
|
(Offline)
|
|
20.07.2011, 20:04
|
#483
|
scientist.alien
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений (для 2,593 пользователей)
|
Ответ: Фак по Юнити.
Если не ошибаюсь - z-координата у Transform.
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab. We LOVE you. We MADE you.
|
(Offline)
|
|
20.07.2011, 20:05
|
#484
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Фак по Юнити.
Использовать GUI.depth .
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
20.07.2011, 21:21
|
#485
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
Lestar, спасибо.
А как тексту присвоить свой шрифт?
Вот есть такой скрипт, как обозначить font, что бы текст его принял?
var color : Color = Color(0.2, 0.3, 0.4);
var myFont : ???;
static var guiDepth : int = 1; function OnGUI() { GUI.depth = guiDepth;
??? = myFont;
GUI.color = color; guiDepth = 1; Hud1.guiDepth = 0; (GUI.Label(Rect(100,485,300,300), "" + ScoreSystem.myScore)) ; }
|
(Offline)
|
|
20.07.2011, 23:07
|
#486
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Фак по Юнити.
Asssets->Creata->GUI Skin
Настроить скин.
В коде:
var skin1 : GUISkin;
function OnGUI() { GUI.skin = skin1; Бла бла }
В инспекторе указать скин.
Или работать для каждого конкретного текста со стилями.
var style1 : GUIStyle; function OnGUI() { GUI.Label(Rect(100,485,300,300), "" + ScoreSystem.myScore,style1) ; }
Стиль тоже настроить.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.07.2011, 01:53
|
#487
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
Благодарю, воспользовался вторым способом.
|
(Offline)
|
|
30.07.2011, 17:00
|
#488
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
Как сделать, что бы при столкновении двух объектов один удалялся, а на его месте появлялся другой?
|
(Offline)
|
|
30.07.2011, 18:29
|
#489
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Фак по Юнити.
Повесить на обьект который нужно подменить
using UnityEngine; using System.Collections;
public class ObjFirst : ObjTwo {
void OnCollisionEnter() { Change_Obj(gameObject); } }
Скрипт повесить куда нибудь
using UnityEngine; using System.Collections;
public class ObjTwo : MonoBehaviour {
public GameObject _new_Obj;
public void Change_Obj(GameObject _obj) { Vector3 _position = _obj.transform.position; Quaternion _rotation = _obj.transform.rotation; Destroy(_obj); Instantiate(_new_Obj, _position, _rotation); } }
На один из сталкивающихся обьектов добавить регидбоди.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.07.2011, 13:53
|
#490
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
Вот у меня есть изображения заполненной полосы здоровья и пустой.
Как сделать, что бы заполненная полоса, постепенно сокращалась, в зависимости от очков здоровья?
Сама система здоровья уже имеется, но выводится на экран в виде чисел, максимальное значение 20, минимальное -1.
|
(Offline)
|
|
31.07.2011, 15:14
|
#491
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Фак по Юнити.
float _live;// Реалтайм жизнь героя
void OnGUI() { GUI.DrawTexture (Rect (10, 40,_live*100/20, 30),_hp_Texture);//100 максимальная длина полоски здоровья в пикселях }
P.S.Это логика,с -1 думаю сами додумаете(не представляю себе как это величина здоровья -1,очень сильно умер?)
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.07.2011, 16:52
|
#492
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
не представляю себе как это величина здоровья -1,очень сильно умер?
|
Просто если здоровье 0, то персонаж еще жив, а если -1, то мёртв. Можно на 1 цифру перенести, сути не меняет.
|
(Offline)
|
|
31.07.2011, 18:00
|
#493
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
float _live;// Реалтайм жизнь героя
void OnGUI()
{
GUI.DrawTexture (Rect (10, 40,_live*100/20, 30),_hp_Texture);//100 максимальная длина полоски здоровья в пикселях
}
|
Попробовал поиграться с этими величинами, но они вроде только растягивают текстуру, а не обрезают, как надо.
|
(Offline)
|
|
31.07.2011, 18:16
|
#494
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Фак по Юнити.
Если нужно обрезать,вложите свою полоску жизни в
GUI.BeginGroup();
GUI.EndGroup ();
И оперируйте размером самого блока.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.07.2011, 18:19
|
#495
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
Разобрался.
Плюс нашел вот такой скрипт:
/* Using multiple Groups to clip the displayed Contents */
var bgImage : Texture2D; // background image that is 256 x 32 var fgImage : Texture2D; // foreground image that is 256 x 32 var playerEnergy = 1.0; // a float between 0.0 and 1.0
function OnGUI () { // Create one Group to contain both images // Adjust the first 2 coordinates to place it somewhere else on-screen GUI.BeginGroup (Rect (0,0,256,32));
// Draw the background image GUI.Box (Rect (0,0,256,32), bgImage);
// Create a second Group which will be clipped // We want to clip the image and not scale it, which is why we need the second Group GUI.BeginGroup (Rect (0,0,playerEnergy * 256, 32));
// Draw the foreground image GUI.Box (Rect (0,0,256,32), fgImage);
// End both Groups GUI.EndGroup (); GUI.EndGroup (); }
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:59.
|