如何以Xamarin形式使用UrhoSharp 3D Moving Imageview

时间:2018-12-26 12:53:34

标签: xamarin xamarin.forms urhosharp

异步void CreateScene()         {

         Input.SubscribeToTouchEnd(OnTouched);

// 要在UrhoSharp Surface中添加可旋转和3D图像的图像视图

var imageview =新的Xamarin.Forms.Image {源=“ icon。”,HeightRequest = 150,WidthRequest = 150};

        scene = new Scene();
        octree = scene.CreateComponent<Octree>();

        plotNode = scene.CreateChild();
        var baseNode = plotNode.CreateChild().CreateChild();
        var plane = baseNode.CreateComponent<StaticModel>();
        plane.Model = CoreAssets.Models.Plane;

        var cameraNode = scene.CreateChild();
        camera = cameraNode.CreateComponent<Camera>();
        cameraNode.Position = new Vector3(10, 15, 10) / 1.75f;
        cameraNode.Rotation = new Quaternion(-0.121f, 0.878f, -0.305f, -0.35f);

        Node lightNode = cameraNode.CreateChild();
        var light = lightNode.CreateComponent<Light>();
        light.LightType = LightType.Point;
        light.Range = 100;
        light.Brightness = 1.3f;

        int size = 3;
        baseNode.Scale = new Vector3(size * 1.5f, 1, size * 1.5f);
        bars = new List<Bar>(size * size);
        for (var i = 0f; i < size * 1.5f; i += 1.5f)
        {
            for (var j = 0f; j < size * 1.5f; j += 1.5f)
            {
                var boxNode = plotNode.CreateChild();
                boxNode.Position = new Vector3(size / 2f - i, 0, size / 2f - j);
                var box = new Bar(new Color(RandomHelper.NextRandom(), RandomHelper.NextRandom(), RandomHelper.NextRandom(), 0.9f));
                boxNode.AddComponent(box);
                box.SetValueWithAnimation((Math.Abs(i) + Math.Abs(j) + 1) / 2f);
                bars.Add(box);
            }
        }

        SelectedBar = bars.First();
        SelectedBar.Select();



        try
        {
            await plotNode.RunActionsAsync(new EaseBackOut(new RotateBy(2f, 0, 360, 0)));
        }
        catch (OperationCanceledException) { }
        movementsEnabled = true;
    }

0 个答案:

没有答案