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

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

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

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

Здравствуйте! помогите пожалуйста мне понять все про программное рисование линий. Задача следующая: чтобы за мувиклипом рисовалась линия по синусойде, но чтобы она рисовалась выше импортированного в сцену изображения. Т.е у меня есть 1 слой с изображением , на слое выше рисую шарик делаю из него мувиклип и на первый кадр этого слоя пишу:
f=function(xc)
{return Math.sin(xc);}
xcoor=10;
kx=15; ky=10;
_root.lineStyle(4, 0x941AE0, 100);
_root.moveTo(xcoor*kx,200-f(xcoor)*ky);
q_mc.onEnterFrame=function()
{this._x=xcoor*kx;
this._y=50-f(xcoor)*ky;
_root.lineTo(this._x, this._y);
xcoor+=0.5;

и получается что шарик бежит по синусойде сверху изображения, а сама линия рисуется под ним, не знаю как написать, чтоб и линия тоже была сверху изображения.
И еще шарик мой убегает за правый край экрана и я честно говоря не могу придумать, как сделать, чтоб он нарисовав мне красивую синосойду останавливался в определенной точке. Помогите пожаааалуйста.

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

Регистрация: Sep 2005
Сообщений: 950
поробуйте вот так
Код AS1/AS2:
f=function(xc){
	return Math.sin(xc);
}
xcoor=10;
kx=15; ky=10;
this.createEmptyMovieClip("line",100)
line.lineStyle(4, 0x941AE0, 100);
line.moveTo(xcoor*kx,200-f(xcoor)*ky);
q_mc.onEnterFrame=function(){
	if(this._x<Stage.width-155){
		this._x=xcoor*kx;
		this._y=200-f(xcoor)*ky;
		line.lineTo(this._x, this._y);
		xcoor+=0.5;
	} else {
		delete this.onEnterFrame;
		}
}

Старый 12.10.2009, 16:25
Nataxin вне форума Посмотреть профиль Отправить личное сообщение для Nataxin Найти все сообщения от Nataxin
  № 3  
Ответить с цитированием
Nataxin

Регистрация: Oct 2009
Сообщений: 5
а так и шарик пропал и линия не рисуется(

Добавлено через 24 минуты
все с этим разобралась, спасибо за скрипт, только что то не останавливается он к сожалению как должен :if(this._x<Stage.width-155){
this._x=xcoor*kx;
this._y=200-f(xcoor)*ky;
line.lineTo(this._x, this._y);
xcoor+=0.5;
} else {
delete this.onEnterFrame;
}
} вот это я имею ввиду, так и прет за границу экрана(

Добавлено через 30 минут
if(this._x<700) получилось если координату задать, СПАСИБО ОГРОМЕЕЕЕНННОЕЕЕЕ!!!!!!!!!!!!!

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

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

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


 


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


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