PDA

Просмотр полной версии : Помогите с кривыми.


makarevich_yurii
31.10.2005, 11:45
Мне нужно нарисовать скриптом кривую линию от одной ко второй координате, пожалуйста, подскажите как это можно сделать через мувиклип? Хелп во флэше не помог!
Спасибо!

iNils
31.10.2005, 11:47
Смотри метод мувиклипа curveTo

makarevich_yurii
31.10.2005, 11:48
Смотрел, не помогло!
Может есть у кого нибудь кусок скрипта, который изгибает прямую?

iNils
31.10.2005, 11:57
this.mouseMove = function () {
this.clear ();
this.lineStyle (0, 0x000000);
this.moveTo (mc0._x, mc0._y);
this.curveTo (mc1._x, mc1._y, mc2._x, mc2._y);
};
for (var i = 0; i < 3; i++) {
this.createEmptyMovieClip ("mc" + i, i);
var mc = this["mc" + i];
mc.lineStyle (0, 0xff0000);
mc.beginFill (0xff0000);
mc.moveTo (-10, -10);
mc.lineTo (10, -10);
mc.lineTo (10, 10);
mc.lineTo (-10, 10);
mc.lineTo (-10, -10);
mc.endFill ();
mc._x = i * 50;
this.mouseMove ();
mc.onPress = function () {
this.startDrag ();
this._parent.onMouseMove = this._parent.mouseMove;
};
mc.onRelease = function () {
this.stopDrag ();
delete this._parent.onMouseMove;
};
}

makarevich_yurii
31.10.2005, 12:02
Посмотрел этот код, только мне не нужно двигать кривую по координатам мне нужно её просто нарисовать от координаты до координаты с помощью скрипта и всё. Зачем усложнять задачу!

iNils
31.10.2005, 12:21
Ну так сделай :) Как это работает тебе показали, а что именно тебе нужно и по каким координатам я же не знаю :)

Iv
31.10.2005, 14:34
как я понял задачу, тебе нужно нарисовать кривую безье,
по трем точкам.
статья в работе (http://www.dembicki.org/Bezier/)

iNils
31.10.2005, 14:41
Ив, в обоих примерах, если сделать сегмент равным 1, то линия PS PT PE слетает.

Iv
31.10.2005, 15:17
она и должна так себя вести.

iNils
31.10.2005, 15:39
Я имел ввиду, когда после 1, опять увеличивать значения.

Iv
31.10.2005, 16:36
у меня вродь пашет.
но статейка в работе (уж год скоро... хехе)
довольно много поменяется в итоговой версии