Четверг, 26 Декабря 2024, 23:11

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Unity3d и XNA Программист Ищет художника
VladHateДата: Среда, 23 Января 2013, 07:41 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Я программист на C# и C++.
Пока в моей команде застой, ищу художника,с рисунками приятными глазу,придумаем вместе проект простой и реализуем его.
Жанры примерно такие: Quest, Adveture, Платформеры или Головоломки.
Пишу в Unity.Работал только с 3D,а под 2D использовать буду лучше XNA.
Учусь достаточно быстро.
Пример кода на Unity.Установка построек игроком.
Код
using UnityEngine;
using System.Collections;

public class Building : MonoBehaviour {
        Ray raying;
        RaycastHit hitsBuild;
        GameObject building;
        Vector3 rayca;
        bool Inst,complete,stay;
        string buildingname;
        int nameindex;
        void Start () {
          stay=false;
          buildingname="building";
          nameindex=0;
          Inst=true;
          rayca.x=0;
          rayca.y=1;
          rayca.z=0;
        }
        void Update () {
          raying=Camera.main.ScreenPointToRay(Input.mousePosition);
          if(Physics.Raycast(raying,out hitsBuild,1000))
            {
              Debug.Log(hitsBuild.collider.name);
              GameObject.Find(hitsBuild.collider.name).SendMessage("Stor");
            }
          if(building!=null&& stay==false)
          {
            if(Physics.Raycast(raying,out hitsBuild,1000)&& Inst==false)
            {
              rayca=hitsBuild.collider.transform.position;
              rayca.y=building.transform.lossyScale.y;
              GameObject.Find(buildingname+nameindex).SendMessage("Position",rayca);
            }
            if(Inst)
            {
              GameObject.Instantiate(building,rayca,building.transform.rotation).name=buildingname+nameindex;;
              Inst=false;
            }
            if(Physics.Raycast(raying,out hitsBuild,1000)&& Inst==false)
            {
              rayca=hitsBuild.collider.transform.position;
              rayca.y=building.transform.lossyScale.y;
              GameObject.Find(buildingname+nameindex).SendMessage("Position",rayca);
            }
            if(Input.GetMouseButton(0))
            {
              Inst=true;
              building=null;
              nameindex++;
            }
          }
        }
        void Build(GameObject building)
        {
          this.building=building;
        }
        void Complete(bool complete)
        {
          Inst=true;
          building=null;
          nameindex++;
        }
        void Stay(bool stay)
        {
          this.stay=stay;
        }
}

Прорисовка линии от одной точки до другой.
Код
using UnityEngine;
using System.Collections;

public class PlayerLine : MonoBehaviour {
        RaycastHit rays;
        Ray ray;
        bool s,v;
        Vector3 generator;
        Vector3 generatornew;
        LineRenderer Line;
        Vector3 GUIposition;
        void Start () {
          generator=new Vector3(0,0,0);
          v=false;
          Line=gameObject.AddComponent<LineRenderer>();
          Line.SetColors(Color.black,Color.red);
          Line.SetWidth(1,1);
          Line.SetVertexCount(2);
            }
              
        void Update () {
          Line=GetComponent<LineRenderer>();
          ray=Camera.mainCamera.ScreenPointToRay(Input.mousePosition);
          if(Physics.Raycast(ray,out rays,1000)&& s)
          {
            generatornew=rays.collider.transform.position;
            generatornew.y+=2;
            v=true;
          }
          if(v==true&& s==true)
          {
          Line.SetPosition(0,generator);
          Line.SetPosition(1,generatornew);
          }
          if(Input.GetMouseButton(0)&& s==true)
          {
            generator=new Vector3(0,0,0);
            generatornew=new Vector3(0,0,0);
            s=false;
            Line.SetPosition(0,generator);
            Line.SetPosition(1,generatornew);
          }
        }
        public Vector3 generator1
        {
          set {generator=value;generator.y+=2;s=true;}
        }
        public Vector3 generator2
        {
          set {generatornew=value;}
        }
}

Писать в личку или скайп boshop2.


Сообщение отредактировал VladHate - Среда, 23 Января 2013, 18:04
IIyxMASTERДата: Среда, 23 Января 2013, 08:16 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
эм, скрипты очень не показательные.
1 - маленькие
2 - очень стандартные, ничего не интересного
3 - даже в стандартных моментах ты наворотил непонятного
Код
if(Physics.Raycast(raying,out hitsBuild,1000))   
            {   
              Debug.Log(hitsBuild.collider.name);   
              GameObject.Find(hitsBuild.collider.name).SendMessage("Stor");   
            }

Шмяк по руке линейкой за такое.
тебе рейкаст уже вернул нужный объект, зачем ты его еще раз ищешь?
Код
if(Physics.Raycast(raying,out hitsBuild,1000))   
            {   
              Debug.Log(hitsBuild.collider.name);   
              hitsBuild.transform.SendMessage("Stor");
            }

Комментариев нет, вся логика утрамбована в один многострадальный Update, скрипт тяжело читать. Чем больше он будет расти - тем нереальнее с ним будет работать.
Да и общая логика происходящего в скрипте от меня ускользает. Ты постоянно спамишь рейкасты в точку под мышкой. Если там есть объект - ему отправляется сообщение "Stor"... Что это? Зачем это? Никакой информации нет...


Сообщение отредактировал IIyxMASTER - Среда, 23 Января 2013, 08:22
VladHateДата: Среда, 23 Января 2013, 17:53 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Я не говорил что я профи...и скрипты довольно старые....
ReinДата: Среда, 23 Января 2013, 18:03 | Сообщение # 4
был не раз
Сейчас нет на сайте
VladHate, опыт работы с DirectX есть?
VladHateДата: Среда, 23 Января 2013, 18:05 | Сообщение # 5
почетный гость
Сейчас нет на сайте
К сожалению нет....OpenGL начал осваивать...для меня лучше чем Directx...
Я больше люблю писать ИИ,интерсней,но как то не доводилось много кодить такое...
ReinДата: Среда, 23 Января 2013, 18:12 | Сообщение # 6
был не раз
Сейчас нет на сайте
VladHate, думаю смысла спрашивать дальше нет, но может с Wt работал?
VladHateДата: Среда, 23 Января 2013, 18:21 | Сообщение # 7
почетный гость
Сейчас нет на сайте
Может с QT? Wt незнаю...
Да и с Qt не работал толком...

Добавлено (23.01.2013, 18:21)
---------------------------------------------
Я не ищу профессионала художника....нужен просто с рисунками которые приятные глазу,а не идеальные рисунки прям рисует...

  • Страница 1 из 1
  • 1
Поиск:

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