當前位置: 首頁>>代碼示例>>C#>>正文


C# PointF.Multiply方法代碼示例

本文整理匯總了C#中System.Drawing.PointF.Multiply方法的典型用法代碼示例。如果您正苦於以下問題:C# PointF.Multiply方法的具體用法?C# PointF.Multiply怎麽用?C# PointF.Multiply使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Drawing.PointF的用法示例。


在下文中一共展示了PointF.Multiply方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: InitParticle

        private void InitParticle(Particle particle)
        {
            //position
            particle.pos.X = (int)(CenterOfGravity.X + PosVar.X * Random11());
            particle.pos.Y = (int)(CenterOfGravity.Y + PosVar.Y * Random11());

            // direction
            float a = (Angle + AngleVar * Random11()).ToRadians();
            PointF v = new PointF((float)Math.Cos(a), (float)Math.Sin(a));
            float s = Speed + SpeedVar * Random11();
            v = v.Multiply(s);
            particle.dir = v;

            // radial accel
            particle.radialAccel = RadialAccel + RadialAccelVar * Random11();

            // tangential accel
            particle.tangentialAccel = TangentialAccel + TangentialAccelVar * Random11();

            // life
            float life = Life + LifeVar * Random11();
            particle.life = Math.Max(0, life);

            // color

            ColorF start = new ColorF();
            start.R = StartColor.R + StartColorVar.R * Random11();
            start.G = StartColor.G + StartColorVar.G * Random11();
            start.B = StartColor.B + StartColorVar.B * Random11();
            start.A = StartColor.A + StartColorVar.A * Random11();

            ColorF end = new ColorF();
            end.R = EndColor.R + EndColorVar.R * Random11();
            end.G = EndColor.G + EndColorVar.G * Random11();
            end.B = EndColor.B + EndColorVar.B * Random11();
            end.A = EndColor.A + EndColorVar.A * Random11();

            particle.color = start;
            particle.deltaColor.R = (end.R - start.R) / particle.life;
            particle.deltaColor.G = (end.G - start.G) / particle.life;
            particle.deltaColor.B = (end.B - start.B) / particle.life;
            particle.deltaColor.A = (end.A - start.A) / particle.life;

            // size
            float startS = StartSize + StartSizeVar * Random11();
            startS = Math.Max(0, startS);

            particle.size = startS;

            if (EndSize == ParticleStartSizeEqualToEndSize) {
                particle.deltaSize = 0;
            } else {
                float endS = EndSize + EndSizeVar * Random11();
                particle.deltaSize = (endS - startS) / particle.life;
            }

            // angle
            float startA = StartSpin + StartSpinVar * Random11();
            float endA = EndSpin + EndSpinVar * Random11();
            particle.angle = startA;
            particle.deltaAngle = (endA - startA) / particle.life;

            particle.startPos = this.Position;
        }
開發者ID:hcxyzlm,項目名稱:CocosNet-1,代碼行數:64,代碼來源:ParticleSystem.cs

示例2: Reflect

 public static PointF Reflect(this PointF vec, PointF point, PointF n)
 {
     var negVec = vec.Negate();
     return n.Multiply(2*negVec.DotProd(n)).Subtract(negVec);
 }
開發者ID:efgefg0001,項目名稱:Tanks,代碼行數:5,代碼來源:PointFExtension.cs


注:本文中的System.Drawing.PointF.Multiply方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。