Exemplo n.º 1
0
        public void InitObjects(Game game)
        {
            // スクリプト用のオブジェクト。
            GameObject titleEnterObject = new GameObject();

            // コンポーネントをアタッチ。
            titleEnterObject.AddComponent(new TitleEnterComponent(game));
            AddObject(titleEnterObject);

            // カメラの初期化
            StaticCamera camera = new StaticCamera();

            camera.SetPosition(new Vec3(0, 0, -10));
            AddObject(camera);

            // タイトルのテキスト
            // 色とフォントサイズ、テキストを指定
            TextRenderer titleObject = new TextRenderer(800, 100)
            {
                FontColor = Color.Red,
                FontSize  = 35,
                Text      = "スミス VS たこ焼き 大決戦"
            };

            titleObject
            .SetBounds(new Vec3(8, 1, 0))
            .SetPosition(new Vec3(-3.5f, 2, 0));
            AddObject(titleObject);

            // 'Press Enter..'のテキスト
            TextRenderer pressEnterObject = new TextRenderer(200, 100)
            {
                FontColor = Color.DarkRed,
                Text      = "Press Enter..."
            };

            pressEnterObject
            .SetBounds(new Vec3(2, 1, 0))
            .SetPosition(new Vec3(-1f, -2, 0));
            AddObject(pressEnterObject);

            // バックグラウンドを配置
            RawTexture2D background = new RawTexture2D("Images/sky.png")
            {
                Layer = 1
            };

            background
            .SetBounds(new Vec3(15f, 10f))
            .SetPosition(new Vec3(-5.5f, -4.5f, 0));
            AddObject(background);
        }
Exemplo n.º 2
0
        public void InitObjects(Game game)
        {
            // カメラの初期化
            StaticCamera camera = new StaticCamera();

            camera.SetPosition(new Vec3(0, 0, -10));
            AddObject(camera);

            // バックグラウンドを配置
            RawTexture2D background = new RawTexture2D("Images/sky.png")
            {
                Layer = 1
            };

            background
            .SetBounds(new Vec3(15f, 10f))
            .SetPosition(new Vec3(-5.5f, -4.5f, 0));
            AddObject(background);

            // プレイヤーを配置
            RawTexture2D player = new RawTexture2D("Images/smith.png");

            player
            .SetBounds(new Vec3(.8f, 1.3f, 0))
            .SetPosition(new Vec3(-0.5f, -3.0f, 0));
            player.AddComponent(new PlayerComponent(game));
            AddObject(player);

            TextRenderer renderer = new TextRenderer(200, 100)
            {
                FontColor = Color.Red
            };

            renderer
            .SetBounds(new Vec3(2, 1, 0))
            .SetPosition(new Vec3(-3f, 3f, 0));
            AddObject(renderer);

            // スクリプト用オブジェクト
            GameObject components = new GameObject();

            components.AddComponent(new RandomSpawnerComponent());
            components.AddComponent(new TimerComponent(game, renderer));
            AddObject(components);
        }
        public override void OnUpdate(double deltaTime)
        {
            base.OnUpdate(deltaTime);

            if (_tick % 60 == 0)
            {
                Vec3 pos = new Vec3(_random.Next(-5, 5),
                                    5, 0);

                RawTexture2D takoyaki = new RawTexture2D("Images/takoyaki.png")
                {
                    Tag   = "Takoyaki",
                    Layer = 0
                };
                takoyaki
                .SetBounds(new Vec3(1, 1, 0))
                .SetPosition(pos);
                takoyaki.AddComponentUnsafe <TakoyakiFallComponent>();
                takoyaki.AddComponentUnsafe <TakoyakiRemoveComponent>();
                GameObject.Scene.AddObject(takoyaki);
            }

            _tick++;
        }