Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   куб (http://www.flasher.ru/forum/showthread.php?t=68715)

Falex1985 03.09.2005 16:04

куб
 
Добрый день.Я программно создал кубик,но почему-то он не отображается на экране?
var points = [];
points[0] = [[0, 0, 0], [0, 100, 0], [100, 100, 0], [100, 0, 0]];
points[1] = [[0, 0, 0], [0, 0, -100], [0, 100, -100], [0, 100, 0]];
points[2] = [[0, 0, 0], [0, 0, -100], [100, 0, -100], [100, 0, 0]];
points[3] = [[100, 0, 0], [100, 0, -100], [100, 100, -100], [100, 100, 0]];
points[4] = [[0, 100, 0], [0, 100, -100], [100, 100, -100], [100, 100, 0]];
points[5] = [[0, 0, -100], [100, 0, -100], [100, 100, -100], [0, 100, -100]];
var o={};
o.draw=function (clip:MovieClip,points:Array,lineSt:Object){
if (lineSt.rgb==undefined){
lineSt.rgb=0;
}
if (lineSt.alpha==undefined){
lineSt.alpha=100;
};
clip.lineStyle(lineSt.thickness,lineSt.rgb,lineSt.alpha);
var points_length:Number=points.length;
var kof:Number=2*Math.SQRT2;
for (var i=0;i<points_length;i++){
per_kof_0=1000/(1000+points[i][0][2]);
clip.moveTo((points[i][0][0]+points[i][0][2]/kof)*per_kof_0,
(points[i][0][1]-points[i][0][2]/kof)*per_kof_0);
for (var j=1;j<numb_points;j++){
per_kof=1000/(1000+points[i][j][2]);
clip.lineTo((points[i][j][0]+points[i][j][2]/kof)*per_kof,
(ponts[i][j][1]-points[i][j][2]/kof)*per_kof);
};
clip.lineTo(points[i][0][0]+points[i][0][2]/kof,points[i][0][1]-
points[i][0][2]/kof);
};
};
this.createEmptyClip(clip,0);
o.draw(clip,points,{thickness:3,rgb:0xFF00000,alpha:100});

iNils 03.09.2005 17:31

проверь код у тебя куча ошибок.

iNils 03.09.2005 17:38

var points = [];
points[0] = [[0, 0, 0], [0, 100, 0], [100, 100, 0], [100, 0, 0]];
points[1] = [[0, 0, 0], [0, 0, -100], [0, 100, -100], [0, 100, 0]];
points[2] = [[0, 0, 0], [0, 0, -100], [100, 0, -100], [100, 0, 0]];
points[3] = [[100, 0, 0], [100, 0, -100], [100, 100, -100], [100, 100, 0]];
points[4] = [[0, 100, 0], [0, 100, -100], [100, 100, -100], [100, 100, 0]];
points[5] = [[0, 0, -100], [100, 0, -100], [100, 100, -100], [0, 100, -100]];
var o = {};
o.draw = function (clip, points, lineSt) {
if (lineSt.rgb == undefined) {
lineSt.rgb = 0;
}
if (lineSt.alpha == undefined) {
lineSt.alpha = 100;
}
clip.lineStyle (lineSt.thickness, lineSt.rgb, lineSt.alpha);
var points_length = points.length;
var kof= 2 * Math.SQRT2;
for (var i = 0; i < points_length; i++) {
per_kof_0 = 1000 / (1000 + points[i][0][2]);
clip.moveTo ((points[i][0][0] + points[i][0][2] / kof) * per_kof_0, (points[i][0][1] - points[i][0][2] / kof) * per_kof_0);
for (var j = 1; j < points[i].length; j++) {
per_kof = 1000 / (1000 + points[i][j][2]);
clip.lineTo ((points[i][j][0] + points[i][j][2] / kof) * per_kof, (points[i][j][1] - points[i][j][2] / kof) * per_kof);
}
clip.lineTo (points[i][0][0] + points[i][0][2] / kof, points[i][0][1] - points[i][0][2] / kof);
}
};
this.createEmptyMovieClip ("clip", 0);
o.draw (clip, points, {thickness:3, rgb:0xFF00000, alpha:100});

Falex1985 03.09.2005 23:02

А вот так писать не надо:
o.draw = function (clip, points, lineSt):Void {
}

iNils 03.09.2005 23:09

Цитата:

Сообщение от Falex1985
А вот так писать не надо:
o.draw = function (clip, points, lineSt):Void {
}

это ты к чему?

Falex1985 04.09.2005 11:14

Вложений: 1
всё равно не чего не строит - вот файл:

iNils 04.09.2005 14:08

Я же тебе указал твои ошибки. Вот код который работает.
var points = [];
points[0] = [[0, 0, 0], [0, 100, 0], [100, 100, 0], [100, 0, 0]];
points[1] = [[0, 0, 0], [0, 0, -100], [0, 100, -100], [0, 100, 0]];
points[2] = [[0, 0, 0], [0, 0, -100], [100, 0, -100], [100, 0, 0]];
points[3] = [[100, 0, 0], [100, 0, -100], [100, 100, -100], [100, 100, 0]];
points[4] = [[0, 100, 0], [0, 100, -100], [100, 100, -100], [100, 100, 0]];
points[5] = [[0, 0, -100], [100, 0, -100], [100, 100, -100], [0, 100, -100]];
var o = {};
o.draw = function (clip, points, lineSt) {
if (lineSt.rgb == undefined) {
lineSt.rgb = 0;
}
if (lineSt.alpha == undefined) {
lineSt.alpha = 100;
}
clip.lineStyle (lineSt.thickness, lineSt.rgb, lineSt.alpha);
var points_length = points.length;
var kof = 2 * Math.SQRT2;
for (var i = 0; i < points_length; i++) {
per_kof_0 = 1000 / (1000 + points[i][0][2]);
clip.moveTo ((points[i][0][0] + points[i][0][2] / kof) * per_kof_0, (points[i][0][1] - points[i][0][2] / kof) * per_kof_0);
for (var j = 1; j < points[i].length; j++) {
per_kof = 1000 / (1000 + points[i][j][2]);
clip.lineTo ((points[i][j][0] + points[i][j][2] / kof) * per_kof, (points[i][j][1] - points[i][j][2] / kof) * per_kof);
}
clip.lineTo (points[i][0][0] + points[i][0][2] / kof, points[i][0][1] - points[i][0][2] / kof);
}
};
this.createEmptyMovieClip ("clip", 0);
o.draw (clip, points, {thickness:3, rgb:0xFF00000, alpha:100});

Falex1985 04.09.2005 22:31

А у меня не работает.Не мог бы ты выложить исходник для Flash 5?

iNils 04.09.2005 23:00

и не будет работать. флеш 5 не поддерживает программную графику.

Falex1985 05.09.2005 21:26

значит Mx?


Часовой пояс GMT +4, время: 20:09.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.