コード例 #1
0
        public void fire(Vector2 start, Vector2 target)
        {
            m_Positions[0] = start;
            m_Positions[1] = start;

            m_PosXInFunction = start.X;

            if (target.X > start.X)
            {
                m_Direction = MovementValue.RIGHT;
            }
            else
            {
                m_Direction = MovementValue.LEFT;
            }

            m_Sin[0] = new SinFunction(50.0f, 0.08f, 0.0f, start.Y);
            m_Sin[1] = new SinFunction(50.0f, 0.08f, SinFunction.degreesToRadians(180.0f), start.Y);

            m_Positions[0] = new Vector2(start.X, 0);
            m_Positions[1] = new Vector2(start.X, 0);

            for (int i = 0; i < m_CollisionRects.Length; i++)
            {
                m_Particles[i].Stop = false;
            }
        }
コード例 #2
0
        public SinusoidalBeam(Rectangle boundries, Color[] color)
        {
            m_Boundries = boundries;

            for (int i = 0; i < m_CollisionRects.Length; i++)
            {
                m_CollisionRects[i] = new Rectangle(0, 0, 4, 4);
                m_Colors[i]         = color[i];
                m_Sin[i]            = new SinFunction();
            }

            for (int i = 0; i < m_Particles.Length; i++)
            {
                m_Particles[i] = new Particles(new Vector2(), color[i % 2], 15.0f, 5, 0.0f, new Vector2(0, 0), 5.0f, true, 70, 3, 3.0f);
            }
        }