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

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

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

Регистрация: Sep 2006
Сообщений: 453
По умолчанию Уменьшение по вертикали, пропорционально меняя координаты линий

Код AS3:
import flash.display.Sprite;
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.display.Bitmap;
import flash.events.Event;
 
 
 
 
var bmd:BitmapData = new BitmapData(100, 150, false, 0xFFCC00);
for(var i:int=0; i<10; i++){
var rect:Rectangle = new Rectangle(0, i*15, 150, 3);
bmd.fillRect(rect, 0xFF0000);
}
var bm:Bitmap = new Bitmap(bmd);
addChild(bm);
 
 
var yy1Left:Number=80
var yy1Right:Number=60
 
 
var line1:Sprite=new Sprite();
line1.graphics.lineStyle(2,0x0000FF)
line1.graphics.moveTo(0,yy1Left)
line1.graphics.lineTo(100,yy1Right)
line1.graphics.endFill();
addChild(line1)
 
 
var yy2Left:Number=20;
var yy2Right:Number=40;
var line2:Sprite=new Sprite();
line2.graphics.lineStyle(2,0x0000FF)
line2.graphics.moveTo(0,yy2Left)
line2.graphics.lineTo(100,yy2Right)
line2.graphics.endFill();
addChild(line2)
 
 
var bmOldSize:Number=150;
this.addEventListener(Event.ENTER_FRAME,eFrame)
function eFrame(e:Event){
	bm.height-=1;
	var resizeNum:Number=bmOldSize-bm.height;
	yy1Left=
	yy1Right=
	line1.graphics.clear()
	line1.graphics.lineStyle(2,0x0000FF)
	line1.graphics.moveTo(0,yy1Left)
	line1.graphics.lineTo(100,yy1Right)
	line1.graphics.endFill();
 
	yy2Left=
	yy2Right=
 
	line2.graphics.clear();
	line2.graphics.lineStyle(2,0x0000FF)
	line2.graphics.moveTo(0,yy2Left)
	line2.graphics.lineTo(100,yy2Right)
	line2.graphics.endFill();
	addChild(line2)
 
}


Уменьшается или увеличивается по вертикали bm, поверх него линии(например line1 и line2), надо в координаты по Y (yy1Left,yy1Right и yy2Left,yy2Right) прописать функцию чтобы менялись координаты пропорционально уменьшению, словно линии находятся в битмапе(bm). Засунуть все в клип и уменьшать не получится.

Добавлено через 8 часов 20 минут
Разобрался, вот пример для одной точки, если вдруг кому-то понадобится
Код AS3:
yy1Right=yy1Right+((yy1Right/bm.height)*resizeNum)


Последний раз редактировалось 54321go; 10.02.2012 в 01:08.
Создать новую тему Ответ Часовой пояс GMT +4, время: 11:07.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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