0

异步无效 CreateScene() {

         Input.SubscribeToTouchEnd(OnTouched);

//想在 UrhoSharp Surface 中添加图像视图以获得可旋转和 3D 图像

var imageview = new Xamarin.Forms.Image { Source = "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;
    }
4

0 回答 0