Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как переместить большой спрайт в определенное место (http://www.flasher.ru/forum/showthread.php?t=167686)

ascilotar 12.09.2011 19:40

Как переместить большой спрайт в определенное место
 
Есть фоновый спрайт, типа игровое поле. у него изначально отрицательные координаты для x и y.
далее, я делаю ему scaleX и scaleY ну допустим на 0,75 и хочу, что бы то же место, которое было в центре экрана до изменения масштаба было и после изменения...

уже 5 часов бьюсь над этим, не могу алгоритм составить.
если что начальные данные:
x = -1152
y = -1152
width = 2400
height = 2400
мож, кто хоть пример покажет где такое уже есть? или подскажет где почитать...

Wolsh 12.09.2011 22:29

http://flasher.ru/forum/showpost.php...5&postcount=16
и реализация этого на AS2

ЗлОй ПрОграММер 12.09.2011 23:09

Код AS3:

x *= 0,75;
y *= 0,75;

точно не уверен но попробуйте мож получиться

goodguy 13.09.2011 07:24

Цитата:

точно не уверен но попробуйте мож получиться
С каких пор числа с плавающей точкой у нас пишутся через запятую? О_о
Но сама идея верная.
Разве что не особо гибкая. Я бы при изменении ширины и высоты спрайта умножал его координаты на его же скейлинг.
Код AS3:

sprite.x *= sprite.scaleX;
sprite.y *= sprite.scaleY;


ascilotar 13.09.2011 11:52

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

спасибо за ответы

ascilotar 13.09.2011 13:48

Код AS3:

                                sprite.x = int(this.x / (sprite.last_width - application.WIDTH) * (sprite.width - application.WIDTH));
                                sprite.y = int(this.y / (sprite.last_height - application.HEIGHT) * (sprite.height - application.HEIGHT));

решилось так


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

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