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

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

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

Регистрация: Oct 2005
Сообщений: 28
По умолчанию ScrollPane и Zoom

Приходится создавать тему на уже измученную тему =(
Но я так и не нашел ответа на свой вопрос.

Везде пишут про _xscale, но если увеличивать масштаб через xscale, то возникают всеизвестные проблемы с полосами прокрутки.
А если через изменение ширины контента (напр: myScrollPane.content._width /= 2, а затем myScrollPane.refreshPane()), то картинка (content) в СкроллПейне смещается (ее кидает куда-то в сторону).

Сейчас у меня пока так (при нажатии на кнопку +):

-----------------------------
// предыд. коор-ты
oldX = myScrollPane.getScrollPosition().x;
oldY = myScrollPane.getScrollPosition().y;

// увеличиваем размеры контента
myScrollPane.content._width *= 1.5;
myScrollPane.content._height *= 1.5;

// обновляем полосы прокрутки
myScrollPane.refreshPane();

// увеличиваем и новые коор-ты
newX = oldX * 1.5;
newY = oldY * 1.5;

// задаем новую позицию
myScrollPane.setScrollPosition(newX, newY);
--------------------

Но эффект от этого не тот - картинка-контент после увеличения смещается в сторону.

Т.е. моя задача - чтобы центер скроллПейна остался в том же месте на экране, а масштаб контента увеличился (или уменьшился)

Очень нужна Ваша помощь

Старый 09.12.2005, 22:28
alikjan вне форума Посмотреть профиль Отправить личное сообщение для alikjan Найти все сообщения от alikjan
  № 2  
Ответить с цитированием
alikjan

Регистрация: Oct 2005
Сообщений: 28
Странно, неужели никто не знает ?

Старый 09.12.2005, 23:49
alikjan вне форума Посмотреть профиль Отправить личное сообщение для alikjan Найти все сообщения от alikjan
  № 3  
Ответить с цитированием
alikjan

Регистрация: Oct 2005
Сообщений: 28
если никто не хочет помогать безвозмездно
то может за небольшое вознагрождение ?? $$

mailto:
alikgr AT inbox.ru

Старый 10.12.2005, 00:27
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 4  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
юзаем метод invalidate() который устанавливает флаг(чтобы компонент перерисовался)
Код:
sp.contentPath = "cont";

function zoomIn():Void {
	sp.content._yscale = sp.content._xscale +=10;
	sp.invalidate();
}
function zoomOut():Void {
	sp.content._yscale = sp.content._xscale -=10;
	sp.invalidate();
}
zIn.addEventListener("click",mx.utils.Delegate.create(this,zoomIn));
zOut.addEventListener("click",mx.utils.Delegate.create(this,zoomOut));
где sp - это скролл пейн
cont - линкейдж контента
zIn кнопка(компонент) для зум ина
zOut кнопка(компонент) для зум аута
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 10.12.2005, 21:06
alikjan вне форума Посмотреть профиль Отправить личное сообщение для alikjan Найти все сообщения от alikjan
  № 5  
Ответить с цитированием
alikjan

Регистрация: Oct 2005
Сообщений: 28
Цитата:
Сообщение от Nirth
юзаем метод invalidate() который устанавливает флаг(чтобы компонент перерисовался)
Код:
sp.contentPath = "cont";

function zoomIn():Void {
	sp.content._yscale = sp.content._xscale +=10;
	sp.invalidate();
}
function zoomOut():Void {
	sp.content._yscale = sp.content._xscale -=10;
	sp.invalidate();
}
zIn.addEventListener("click",mx.utils.Delegate.create(this,zoomIn));
zOut.addEventListener("click",mx.utils.Delegate.create(this,zoomOut));
где sp - это скролл пейн
cont - линкейдж контента
zIn кнопка(компонент) для зум ина
zOut кнопка(компонент) для зум аута

а это работает в Flash MX или MX 2004 ?
в первом не работает ?

Старый 10.12.2005, 21:26
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 6  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
это работает в Flash MX 2004 version 7.2.
Flash MX у меня нету.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 10.12.2005, 22:06
alikjan вне форума Посмотреть профиль Отправить личное сообщение для alikjan Найти все сообщения от alikjan
  № 7  
Ответить с цитированием
alikjan

Регистрация: Oct 2005
Сообщений: 28
Цитата:
Сообщение от Nirth
это работает в Flash MX 2004 version 7.2.
Flash MX у меня нету.
спасибо.
завтра куплю диск с новым флешем и отвечу

А у шлеша есть обратная совместимость ?
ну т.е. файл, который создали во flash6 будет открываться во F7 & F8 ??
просто хотелось бы сразу восьмую версию купить =)

Старый 11.12.2005, 14:11
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 8  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
флэш восемь умеет сохранять в 7 и 8 форматах, но MX не сможет читать их.

тоесть у них обратная совместимость, только на предыдущую версию.

Но восьмерка понимает все форматы начиная с 2
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 11.12.2005, 19:12
alikjan вне форума Посмотреть профиль Отправить личное сообщение для alikjan Найти все сообщения от alikjan
  № 9  
Ответить с цитированием
alikjan

Регистрация: Oct 2005
Сообщений: 28
Поставил флеш8
но код чего-то не работает:

я перетащил две кнопки (одну назвал zIn, вторую - zOut)
в полях Click Handler указал zoomIn и zoomOut соотв-но.

затем в первом кадре (там же скроллпейн и мувик-контент находятся) прописал:

Код:
component1.contentPath = "karta";

zoomIn = function() {
	component1.content._yscale = component1.content._xscale +=10;
	component1.invalidate();
}
zoomOut = function() {
	component1.content._yscale = component1.content._xscale -=10;
	component1.invalidate();
}
zIn.addEventListener("click",mx.utils.Delegate.create(this,zoomIn));
zOut.addEventListener("click",mx.utils.Delegate.create(this,zoomOut));
где component1 - scrollpane
karta - мувик-контент

На твой синтаксис объявления функции флеш8 ругается ?

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

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

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


 


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


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