Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

torrvic, возможно, Вам нужно добавить -lGLU
Извините за тупой вопрос. У меня при сборке Вашего примера выходит ошибка: "undefined reference to gluLookAt". Не могу найти в какой библиотеке находится эта функция. У меня задано: -lGL -lglut ... Искал в /usr/lib таким образом: nm lib*so* | grep...
Здравствуйте. Спасибо за проект. У меня вопрос, по какой причине определение принадлежности точки многоугольнику работает некорректно, если координаты из больших чисел состоят, например: int[] vertex = new int[] {...
Сейчас проверила нашла причину не запускания // Создание контекста воспроизведения OpenGL и привязка его к панели на форме OpenGLControl1:=TOpenGLControl.Create(Self); with OpenGLControl1 do begin Name:='OpenGLControl1'; //вот тут...
Ну..кажется что то пошло не так http://pp.usera...

Счетчики и рейтинг

Рейтинг@Mail.ru
Скриншот к примеру
Среда программирования: 
Visual Studio 2015
Статья по теме: 

В этом примере показана элементарная спрайтовая анимация на примере птички из Angry Birds. Меняются три спрайта птички и постепенно увеличивается скорость смены этих спрайтов.
В imageList1 добавляются спрайты.
imageList1.Draw(Graphics, Point, int): Graphics - задать графику, Point - точка(левый верхний угол спрайта), int - индекс спрайта в imageList1.
timer1.Interval = timer1.Interval - 10; уменьшаем интервал таймера на 10.

Код программы: 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Sprite
{
    public partial class Form1 : Form
    {
        Graphics g;
        Bitmap buf;
        public Form1()
        {
            InitializeComponent();
            buf = new Bitmap(pictureBox1.Width, pictureBox1.Height);//Определение буфера
            g = Graphics.FromImage(buf);//Определение графики из буфера
            g.FillRectangle(new SolidBrush(Color.White), 0, 0, pictureBox1.Width, pictureBox1.Height);
            timer1.Enabled = true;
        }
 
        int stage = 0;
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (stage < 1)
            {
                imageList1.Draw(g, new Point(5, 0), 0);
                stage++;
            }
            else if (stage < 2)
            {
                imageList1.Draw(g, new Point(5, 2), 1);
                stage++;
            }
            else if (stage < 3)
            {
                imageList1.Draw(g, new Point(0, 5), 2);
                stage++;
            }
            if (stage == 3)
			{
				stage = 0;
				timer1.Interval = timer1.Interval - 10;
			} 
            if (timer1.Interval <= 10) timer1.Interval = 600;
            pictureBox1.Image = buf;
        }
    }
}