Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.02.2007, 21:38
ElLamok вне форума Посмотреть профиль Отправить личное сообщение для ElLamok Найти все сообщения от ElLamok
  № 1  
Ответить с цитированием
ElLamok

Регистрация: Oct 2006
Сообщений: 60
По умолчанию Программное рисование

Проблема следующая:
Если вбить такой код:
Код:
var nomerSectora:Number = 0;
var xCentr:Number=100;
var yCentr:Number=100;
var radius:Number=100;
var angleLast:Number = 0;
var clipArray:Array = new Array();
var clip:MovieClip;
var epsilon:Number = 1/1000;
        this.createEmptyMovieClip("mc"+nomerSectora,nomerSectora);
        clipArray.push("mc"+nomerSectora);
        drawSector(Math.PI/4,0xff0000);
function drawSector(angle, color) {
        clip = clipArray[nomerSectora];
        clipArray[nomerSectora].moveTo(xCentr, yCentr);
        clipArray[nomerSectora].beginFill(color, 100);
        clipArray[nomerSectora].lineStyle(1, 0xff0000, 100);
        for (var i:Number = 0; i<angle; i=i+Math.PI/360) {
                clipArray[nomerSectora].lineTo(xCentr+radius*Math.sin(i), yCentr-radius*Math.cos(i));
        }
        clipArray[nomerSectora].lineTo(xCentr, yCentr);
        clipArray[nomerSectora].endFill();
}
то ниче не работает, должен рисоваться сектор, если например заменить две строчки кода на
this.createEmptyMovieClip("mc"+nomerSectora);
clipArray.push(mc);
то все заработает, подскажите пожалуйста как заставить эту штуку работать
P.S. это тока кусок кода, пробовал в целом коде ( не в приведенном) обращаться так this["mc" + nomerSectora]. и так далее, но начались проблемы при дублировании клипа, во время дебага флеш говорит, что отдублировал все, но ни в какую не хочет показывать дублированные клипы, их просто нет ( хотя в левел0 они якобы лежат)
P.S2. AC 2.0 Flash 8
заранее спасибо


Последний раз редактировалось ElLamok; 27.02.2007 в 16:12.
Старый 26.02.2007, 22:18
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
ZOOM:


Приведите свой код в порядок, оформив, как полагается.

Старый 26.02.2007, 23:53
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 3  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
как сложно там создано, разбираться в твоем коде не хочу, если чесно. Но если надо могу кинуть код, который создает сектор...

Старый 27.02.2007, 11:00
Жень Шень вне форума Посмотреть профиль Отправить личное сообщение для Жень Шень Найти все сообщения от Жень Шень
  № 4  
Ответить с цитированием
Жень Шень
 
Аватар для Жень Шень

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Цитата:
Сообщение от Mr. Fixit
как сложно там создано, разбираться в твоем коде не хочу, если чесно. Но если надо могу кинуть код, который создает сектор...
Присоеденяюсь к вышесказанному, но код кинул...
В втором примере просто кликай мышкой.
Вложения
Тип файла: rar СЕКТОР.rar (3.8 Кб, 86 просмотров)

Старый 27.02.2007, 16:05
ElLamok вне форума Посмотреть профиль Отправить личное сообщение для ElLamok Найти все сообщения от ElLamok
  № 5  
Ответить с цитированием
ElLamok

Регистрация: Oct 2006
Сообщений: 60
Сложность заключается не в том чтоб сектор нарисовать (весчь тривиальная), проблема в обращении к клипам ( тоже весчь тривиальная ), я хочу через массив обращаться к клипам, для этого я их заталкиваю в массив, если потом обращаться вот так :
clipArray[index]. и указывать любое предложение, например координата прозрачность , что угодно, то работает, но стоит написать lineTo, и флэш отказывается понимать и, соответсвенно, рисовать

Старый 21.05.2007, 05:01
Borman2000 вне форума Посмотреть профиль Отправить личное сообщение для Borman2000 Найти все сообщения от Borman2000
  № 6  
Ответить с цитированием
Borman2000
 
Аватар для Borman2000

Регистрация: Dec 2006
Сообщений: 50
Отправить сообщение для Borman2000 с помощью ICQ
Цитата:
Сообщение от ElLamok
P.S. это тока кусок кода, пробовал в целом коде ( не в приведенном) обращаться так this["mc" + nomerSectora]. и так далее, но начались проблемы при дублировании клипа, во время дебага флеш говорит, что отдублировал все, но ни в какую не хочет показывать дублированные клипы, их просто нет ( хотя в левел0 они якобы лежат)
P.S2. AC 2.0 Flash 8
заранее спасибо
Попробуй перед созданием контейнера проверить getInstanceAtDepth (MovieClip.getInstanceAtDepth method). Потому как "Remember, if you accidentally add a new instance at a depth that is already used, the new object will overwrite the existing instance." (с) Flash® 8 ActionScript Bible

Старый 21.05.2007, 21:54
KoLar вне форума Посмотреть профиль Отправить личное сообщение для KoLar Найти все сообщения от KoLar
  № 7  
Ответить с цитированием
KoLar
 
Аватар для KoLar

Регистрация: Aug 2006
Адрес: Нижний Тагил
Сообщений: 48
Цитата:
Сообщение от ElLamok
Код:
clipArray.push("mc"+nomerSectora);
Это ты вставил в массив текст "mc"+nomerSectora, а тебе надо ссылку на MovieClip, т.е.
Код:
clipArray.push(this["mc"+nomerSectora]);
В этом случае можно будет использовать код:
Код:
clipArray[nomerSectora].moveTo(xCentr, yCentr);
и т. д.

Цитата:
Сообщение от ElLamok
Код:
        clip = clipArray[nomerSectora];
        clipArray[nomerSectora].moveTo(xCentr, yCentr);
        clipArray[nomerSectora].beginFill(color, 100);
        clipArray[nomerSectora].lineStyle(1, 0xff0000, 100);
Для чего создавать переменную clip, если ты её потом не используешь? Что мешает писать:
Код:
        clip = clipArray[nomerSectora];
        clip.moveTo(xCentr, yCentr);
        clip.beginFill(color, 100);
        clip.lineStyle(1, 0xff0000, 100);

Старый 21.05.2007, 22:15
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 8  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
И даже так:
Код:
var mc:MovieClip = this.createEmptyMovieClip("mc"+nomerSectora,nomerSectora);
        clipArray.push( mc );

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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