示例#1
0
    private void Update()
    {
        if (_followTarget)
        {
            transform.position = _followTarget.position + _followOffset + Vector3.up * (_currentCircle.LineWidth / 2f);
        }

        if (_lineRenderer.enabled)
        {
            if (_lineRenderer.positionCount != _resolution)
            {
                _lineRenderer.positionCount = _resolution;
            }

            float anglePerCount = 360f / ((float)_resolution);
            for (int i = 0; i < _resolution; i++)
            {
                float currentAngle = anglePerCount * (float)i;
                currentAngle *= Mathf.Deg2Rad;

                Vector3 unitVector = new Vector3(Mathf.Cos(currentAngle), 0f, Mathf.Sin(currentAngle));
                _lineRenderer.SetPosition(i, _transform.position + (unitVector * _currentCircle.Radius));
            }

            _lineRenderer.widthMultiplier = _currentCircle.LineWidth;

            CircleProperties updatedCircle = _currentCircle;
            updatedCircle.Radius    = Mathf.Lerp(_currentCircle.Radius, _targetCircle.Radius, _lerpSpeed * Time.unscaledDeltaTime);
            updatedCircle.LineWidth = Mathf.Lerp(_currentCircle.LineWidth, _targetCircle.LineWidth, _lerpSpeed * Time.unscaledDeltaTime);

            _currentCircle = updatedCircle;
        }
    }
示例#2
0
文件: Program.cs 项目: dvno-v/SoftUni
        public static void Main(string[] args)
        {
            var firstCircleInput  = Console.ReadLine().Split(' ').Select(double.Parse).ToArray();
            var secondCircleInput = Console.ReadLine().Split(' ').Select(double.Parse).ToArray();

            var firstCircle = new CircleProperties()
            {
                X      = firstCircleInput[0],
                y      = firstCircleInput[1],
                radius = firstCircleInput[2],
            };

            var secondCircle = new CircleProperties()
            {
                X      = secondCircleInput[0],
                y      = secondCircleInput[1],
                radius = secondCircleInput[2]
            };

            bool intercect = intersect(firstCircle, secondCircle);

            if (intercect)
            {
                Console.WriteLine("Yes");
            }
            else
            {
                Console.WriteLine("No");
            }
        }
示例#3
0
    private void OnCircleParametersResult(GetTitleDataResult obj)
    {
        Debug.Log("Getting Circle Parameters");

        circleProperties = JsonUtility.FromJson <CircleProperties>(obj.Data["CircleParameters"]);

        SetCircleParametersPlayerPrefs();
        //Debug.Log("circleProperties Time : " + circleProperties.InitialTime + " " + circleProperties.MinimumTime +" " + circleProperties.TimeReduceAmount);
        //Debug.Log("circleProperties Scale : " + circleProperties.MaxScaleTollerance + " " + circleProperties.MinScaleTollerance +" " + circleProperties.PerfectScaleMaximum + " " + circleProperties.PerfectScaleMinimum);
    }
示例#4
0
文件: Program.cs 项目: dvno-v/SoftUni
        static bool intersect(CircleProperties circle1, CircleProperties circle2)
        {
            double distance = Math.Abs(circle1.X - circle2.X) + Math.Abs(circle1.y - circle2.y);

            if (distance <= circle1.radius + circle2.radius)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
 private void CircleProperties_PropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     if (ht != null)
     {
         CircleProperties cp = (sender as CircleProperties);
         if (e.PropertyName.Equals("radius"))
         {
             ht.Radius = cp.Radius;
         }
         else if (e.PropertyName.Equals("coorOriginal"))
         {
             ht.Point = ToaDo.NguoiDungMayTinh(cp.CoorOriginal);
         }
     }
 }
        private void Button_MouseDown(object sender, MouseEventArgs e)
        {
            Button btn = sender as Button;

            if (btn.Tag.Equals("Circle"))
            {
                CircleProperties circleProperties = new CircleProperties(this.pnl_Tb_2D.Size);
                circleProperties.PropertyChanged += CircleProperties_PropertyChanged;
                this.pnl_ToolBox.Controls.Add(circleProperties);
                circleProperties.BringToFront();

                ht = new HinhTron(new Point(550, 320), 10);
                circleProperties.CoorOriginal = ToaDo.MayTinhNguoiDung(new Point(550, 320));
                circleProperties.Radius       = 10;
                ht.Draw(picb_2DArea.CreateGraphics());
                ht.PropertyChanged += Ht_PropertyChanged;
            }
            else if (btn.Tag.Equals("Clock"))
            {
                clockProperties = new ClockProperties();

                clockProperties.PropertyChanged += ClockProperties_PropertyChanged;
                this.pnl_ToolBox.Controls.Add(clockProperties);
                if (flagXe == false)
                {
                    clockProperties.Refresh();
                }

                clockProperties.BringToFront();

                DateTime dt = DateTime.Now;
                clock = new Clock(new Point(0, 0), 15, dt);
                clock.CurrentDatetime = new DateTime(2019, 05, 19, 12, 30, 15);
                clock.Draw(this.picb_2DArea.CreateGraphics());
                clock.PropertyChanged += Clock_PropertyChanged;
            }
            else if (btn.Tag.Equals("TimePiece"))
            {
                timepieceProperties = new TimepieceProperties();
                timepieceProperties.PropertyChanged += TimepieceProperties_PropertyChanged;
                this.pnl_ToolBox.Controls.Add(timepieceProperties);
                timepieceProperties.BringToFront();

                timepiece = new Timepiece();
                timepiece.PropertyChanged += Timepiece_PropertyChanged;
            }
            else if (btn.Tag.Equals("Car"))
            {
                this.timer1.Start();
                xe     = new XeProperties();
                flagXe = true;
                hinhXe = new HinhXe();
                this.pnl_ToolBox.Controls.Add(xe);
                xe.BringToFront();
                xe.Visible          = true;
                xe.PropertyChanged += Xe_PropertyChanged;

                //if (flagXe)
                //{

                //    // biểu diễn các hoạt động của xe
                //    hinhXe.PropertyChanged += HinhXe_PropertyChanged;
                //    hinhXe.ToMau(e.Graphics);
                //    hinhXe.drawCar(e.Graphics);

                //    if (dem <= 30)
                //    {
                //        dem++;
                //        // tịnh tiến 5 đơn vị
                //        // đi phải qua trái
                //        hinhXe.traslationXe(5, 0);
                //        hinhXe.quayBanhXe(30);


                //    }
                //    else if (dem <= 60)
                //    {
                //        dem++;
                //        //tịnh tiến 5 đơn vị
                //        // đi phải qua trái
                //        hinhXe.traslationXe(0, 5);
                //        hinhXe.quayBanhXe(30);
                //    }
                //    else if (dem <= 90)
                //    {
                //        dem++;
                //        // đi từ trên xuống dưới
                //        hinhXe.traslationXe(-5, 0);
                //        hinhXe.quayBanhXe(-30);
                //    }
                //    else if (dem <= 120)
                //    {
                //        dem++;
                //        // đi từ dưới lên trên
                //        hinhXe.traslationXe(0, -5);
                //        hinhXe.quayBanhXe(-30);
                //    }else
                //    {
                //        // cập nhật lại
                //        dem = 0;
                //    }
                //}
            }
        }
示例#7
0
 public void SetCircle(float radius, float lineWidth)
 {
     _lineRenderer.enabled = true;
     _targetCircle         = new CircleProperties(radius, lineWidth);
 }
示例#8
0
 public void TurnOff()
 {
     _lineRenderer.enabled = false;
     _targetCircle         = new CircleProperties(1f, 0.5f);
 }