示例#1
0
    virtual public void Init(Player player, float width, float height)
    {
        _width  = width;
        _height = height;

        boxSprite = new BoxSprite();
        AddChild(boxSprite);

        AddChild(contentContainer = new FContainer());

        _player = player;
        InitPlayer();

        EnableSmartTouch();
        DoLayout();
    }
示例#2
0
 void Start()
 {
     if (SphereSprite == null)
     {
         SphereSprite = Instantiate(Resources.Load("Wcircle") as GameObject,
                                    transform.position, transform.rotation,
                                    transform);
     }
     SphereSprite.transform.localScale = new Vector3(0.25f, 0.25f, 1);
     SphereSprite.GetComponent <SpriteRenderer>().color        = new Color(0.5f, 0.5f, 0.5f, 0.5f);
     SphereSprite.GetComponent <SpriteRenderer>().sortingOrder = -1;
     if (next)
     {
         s = -transform.position + next.transform.position;
         Rect r = new Rect((Vector2)transform.position,
                           new Vector2(Vector3.Distance(transform.position, next.transform.position) * 0.5f, 0.5f));
         atan = Math.Atan(-s.y / -s.x) * 180 / Math.PI;
         if (Mathf.Sign(s.x) == 1 && Mathf.Sign(s.y) == -1)
         {
             atan = 180 + atan;
         }
         if (Mathf.Sign(s.x) == 1 && Mathf.Sign(s.y) == 1)
         {
             atan += 180;
         }
         if (Mathf.Sign(s.x) == -1 && Mathf.Sign(s.y) == 1)
         {
             atan += 360;
         }
         yValue = Vector2.Distance((transform.position - s / 2f), Vector2.zero);
         if (BoxSprite == null)
         {
             BoxSprite = Instantiate(Resources.Load("Wbox") as GameObject,
                                     (transform.position + next.transform.position) / 2f,
                                     Quaternion.Euler(0, 0, (float)atan),
                                     transform);
         }
         BoxSprite.transform.position   = (transform.position + next.transform.position) / 2f;
         BoxSprite.transform.rotation   = Quaternion.Euler(0, 0, (float)atan + 90);
         BoxSprite.transform.localScale = new Vector3(0.25f,
                                                      0.25f * Vector3.Distance(transform.position, next.transform.position),
                                                      1);
         BoxSprite.GetComponent <SpriteRenderer>().color        = new Color(0.5f, 0.5f, 0.5f, 0.5f);
         BoxSprite.GetComponent <SpriteRenderer>().sortingOrder = -1;
     }
 }
示例#3
0
        public void AddObstacles(int NumberOfObstacles, int NumberOfEnemies)
        {
            List <BoxSprite>   _obstacles = new List <BoxSprite>();
            List <MechaSprite> _enemies   = new List <MechaSprite>();
            Random             r          = new Random(DateTime.Now.GetHashCode());

            for (int j = 0; j < NumberOfEnemies; j++)
            {
                MechaSprite newEnemy = new MechaSprite(_sprites[r.Next(2, _roomLength - 2), r.Next(2, _roomWidth - 2)].Position, _player, this);
                if (!newEnemy.CheckCollision(_player.Bounds))
                {
                    _enemies.Add(newEnemy);
                }
                else
                {
                    j--;
                }
            }
            for (int i = 0; i < NumberOfObstacles; i++)
            {
                BoxSprite newBox = new BoxSprite(_sprites[r.Next(3, _roomLength - 3), r.Next(3, _roomWidth - 3)].Position, true);
                if (!newBox.CheckCollision(_player.Bounds))
                {
                    _obstacles.Add(newBox);
                }
                else
                {
                    i--;
                }
            }

            foreach (BoxSprite b in _obstacles)
            {
                _otherSprites.Add(b);
            }
            foreach (Enemy e in _enemies)
            {
                e._gameplayScreen = _player.gameScreen;
                _enemySprites.Add(e);
            }
        }
示例#4
0
 public CollisionObject()
 {
     Rect = new CollisionRect(new Azul.Rect());
     Box  = new BoxSprite(new Azul.Rect(1, 1, 1, 1));
 }
示例#5
0
 public CollisionObject(ProxySprite pProxySprite)
 {
     Rect = new CollisionRect(pProxySprite.GetRect());
     Box  = new BoxSprite(Rect);
 }
示例#6
0
    public virtual void Init(Player player, float width, float height)
    {
        _width = width;
        _height = height;

        boxSprite = new BoxSprite();
        AddChild(boxSprite);

        AddChild(contentContainer = new FContainer());

        _player = player;
        InitPlayer();

        EnableSmartTouch();
        DoLayout();
    }