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

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

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

Регистрация: Nov 2005
Сообщений: 58
Отправить сообщение для starflash с помощью ICQ
По умолчанию Как привязать область анимации к разрешению монитора?

Здравствуйте! Помогите разобраться с скриптом, вернее можно исправить скрипт чтобы анимация была во весь экран в зависимости от разрешения монитора!

Код AS1/AS2:
Stage.scaleMode = "showAll";
 
//////////////////////////////////////////////////////
MovieClip.prototype.addBlob = function(bname, bdepth, xy) {
var blob = this.createEmptyMovieClip(bname, bdepth);
blob.len = xy.length;
blob.ma = 1;
var k = 0.80,w=1024,h=768;
for (var i = 0; i<blob.len; i++) blob[i] = {x:xy[i][0], y:xy[i][1], ix:xy[i][0], iy:xy[i][1]};
blob.onEnterFrame = function() {
with (this) {
with (_parent) {
if (_x+r>w) {_x = w-r; vx*= -1;b.wobble(r/6);}
if (_x<r) {_x = r; vx*= -1;b.wobble(r/6);}
if (_y+r>h){_y = h-r; vy*= -1;b.wobble(r/6);}
if (_y<r) {_y = r;vy*= -1;b.wobble(r/6);}
_x += vx;
_y += vy;
}
if (!ma) return;
ma--;
for (var i = 0; i<len; i++) {
this[i].vx += (this[i].ix-this[i].x)/8;
this[i].vy += (this[i].iy-this[i].y)/8;
this[i].x += this[i].vx *= k;
this[i].y += this[i].vy *= k;
}
clear();
beginFill(0);
moveTo((this[0].x+this[len-1].x)/2, (this[0].y+this[len-1].y)/2);
for (var i = 0; i<len; i++) {
var nxt = (i == len-1) ? this[0] : this[i+1];
curveTo(this[i].x, this[i].y, (this[i].x+nxt.x)/2, (this[i].y+nxt.y)/2);
}
endFill();
}
};
return blob;
};
/////////возмущение/////////////////////////////////////////////
MovieClip.prototype.wobble = function(mag) {
this.ma = 30;
for (var i = 0; i<this.len; i++) {
this[i].vx += (Math.random()-0.5)*mag;
this[i].vy += (Math.random()-0.5)*mag;
this[i].x += (Math.random()-0.5)*4;
this[i].y += (Math.random()-0.5)*4;
}
};
//////////столкновение/////////////////////////////////////////////////
MovieClip.prototype.kick = function(ball) {
var fi = Math.atan2(ball._y-this._y, ball._x-this._x);
var adir = Math.atan2(this.vy, this.vx);
var bdir = Math.atan2(ball.vy, ball.vx);
var av = Math.sqrt(this.vx*this.vx+this.vy*this.vy);
var bv = Math.sqrt(ball.vx*ball.vx+ball.vy*ball.vy);
var vn = av*Math.sin(adir-fi+Math.PI/2)-bv*Math.sin(bdir-fi+Math.PI/2);
var dv1 = -2*ball.m/(this.m+ball.m)*vn;
var dv2 = 2*this.m/(this.m+ball.m)*vn;
this.vx += dv1*Math.cos(fi);
this.vy += dv1*Math.sin(fi);
ball.vx += dv2*Math.cos(fi);
ball.vy += dv2*Math.sin(fi);
this.b.wobble(this.r/4);
ball.b.wobble(ball.r/4);
};
///////////////////////////////////////////////////////////
getCircle = function (r) { 
var a = [], fi = Math.PI/3;
for (var i = 0; i<6; i++) {a.push([r*Math.sin(i*fi), r*Math.cos(i*fi)]);}
return a;
};
// //////////////////////////////////////////////////////////
nballs = 6;
for (i=0; i<nballs; i++) {
var ball = this.createEmptyMovieClip(i, i);
var bg=ball.attachMovie("bg", "bg", 0, {_xscale:100+12*i, _yscale:100+12*i});
ball.bg.rb.gotoAndPlay(i*50+1);
ball.bg.rb.onEnterFrame = function() { this._rotation += random(3) };
ball.addBlob("b", 1, getCircle(30+10*i));
ball.bg.setMask(ball.b);
ball.x = ball._x=random(1024);
ball.y = ball._y=random(768);
ball.m = ball.r=24+10*i;
ball.vx = 4-random(9);
ball.vy = 4-random(9);
ball.onPress = function() { this.b.wobble(this.r/2)};
}
// /////////////////////////////////////////////////////
this.onEnterFrame = function() {
for (var i = 0; i<nballs; i++) {
for (var j = i+1; j<nballs; j++) {
var dx = this[i]._x+this[i].vx-this[j]._x-this[j].vx;
var dy = this[i]._y+this[i].vy-this[j]._y-this[j].vy;
var cx = this[i]._x-this[j]._x;
var cy = this[i]._y-this[j]._y;
var dr = Math.sqrt(dx*dx+dy*dy);
var cr = Math.sqrt(cx*cx+cy*cy);
if (dr<=this[i].r+this[j].r && dr<cr) this[i].kick(this[j]);
}
}
};

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

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
Можно посмотреть на исходник?
__________________
Играй. Это жизнь.
Всё повторяется. Играй.

Старый 15.03.2010, 16:26
starflash вне форума Посмотреть профиль Отправить личное сообщение для starflash Посетить домашнюю страницу starflash Найти все сообщения от starflash
  № 3  
Ответить с цитированием
starflash
 
Аватар для starflash

Регистрация: Nov 2005
Сообщений: 58
Отправить сообщение для starflash с помощью ICQ
На мыло могу, доступа сейчас к ftp нет

Добавлено через 38 секунд
мое мыло starflash@list.ru

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
типа этого
Вложения
Тип файла: zip resize_anim.zip (8.5 Кб, 51 просмотров)

Старый 15.03.2010, 17:42
starflash вне форума Посмотреть профиль Отправить личное сообщение для starflash Посетить домашнюю страницу starflash Найти все сообщения от starflash
  № 5  
Ответить с цитированием
starflash
 
Аватар для starflash

Регистрация: Nov 2005
Сообщений: 58
Отправить сообщение для starflash с помощью ICQ
ну типа да, а как это правильно применить к моему коду?

Старый 15.03.2010, 18:33
starflash вне форума Посмотреть профиль Отправить личное сообщение для starflash Посетить домашнюю страницу starflash Найти все сообщения от starflash
  № 6  
Ответить с цитированием
starflash
 
Аватар для starflash

Регистрация: Nov 2005
Сообщений: 58
Отправить сообщение для starflash с помощью ICQ
Вот сам исходник
Вложения
Тип файла: rar balls.rar (112.6 Кб, 46 просмотров)

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
в тот мувик, что ресайзится, запихайте анимацию и всё.

Старый 15.03.2010, 18:40
starflash вне форума Посмотреть профиль Отправить личное сообщение для starflash Посетить домашнюю страницу starflash Найти все сообщения от starflash
  № 8  
Ответить с цитированием
starflash
 
Аватар для starflash

Регистрация: Nov 2005
Сообщений: 58
Отправить сообщение для starflash с помощью ICQ
пробывал я так, не получается

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
В вашем примере и так всё ресайзится по окну, что ещё нужно.

Старый 15.03.2010, 22:30
starflash вне форума Посмотреть профиль Отправить личное сообщение для starflash Посетить домашнюю страницу starflash Найти все сообщения от starflash
  № 10  
Ответить с цитированием
starflash
 
Аватар для starflash

Регистрация: Nov 2005
Сообщений: 58
Отправить сообщение для starflash с помощью ICQ
ресайзится! это да если разрешение 1024*768, а к примеру 1920*1080?

Добавлено через 50 часов 51 минуту
как сделать чтобы границы анимации были 100% w и h

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

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

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


 


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


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