예제 #1
0
        public Form1()
        {
            InitializeComponent();

            Ball = new CObject3D("Ball.ini");

            Stairs[0] = new CObject3D("Floor.ini");

            for (int i = 1; i < NUM_STAIRS; i++)
            {
                Stairs[i] = new CObject3D(Stairs[0]);
            }

            Spirals[0] = new CObject3D("Spiral.ini");

            for (int i = 1; i < NUM_SPIRALS; i++)
            {
                Spirals[i] = new CObject3D(Spirals[0]);
            }


            Diamond = new CObject3D("Diamond.ini");

            RenderContext = new CRenderContext(ClientSize.Width, ClientSize.Height);
            FormCanvas    = CreateGraphics();

            RenderContext.SetViewerPosition(0, -80, 500);

            Initialize();

            timer1.Enabled = true;
        }
예제 #2
0
        private void PrepareStairs()
        {
            FirstVisibleStair = 0;
            Stairs[0].SetPos(STAIRS_START_X, STAIRS_START_Y, STAIRS_START_Z);

            for (int i = 1; i < NUM_STAIRS; i++)
            {
                Stairs[i].SetPos(Stairs[i - 1].GetXPos(), Stairs[i - 1].GetYPos() - STAIR_HEIGHT,
                                 Stairs[i - 1].GetZPos() + STAIR_WIDTH);
            }

            for (int i = 0; i < NUM_STAIRS; i++)
            {
                Stairs[i].Visible = true;
            }

            Stairs[0].SetNewFacesColor(CObject3D.ConvertRGBToInt(250, 0, 0));
            Stairs[NUM_STAIRS - 1].SetNewFacesColor(CObject3D.ConvertRGBToInt(250, 0, 0));

            Diamond.SetPos(Stairs[NUM_STAIRS - 1].GetPos());
        }