![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2008
Сообщений: 161
|
package {
import flash.events.*;
import flash.display.BitmapData;
import flash.geom.*;
import flash.display.*;
public class Wgame extends Sprite {
public var tile:BitmapData = new BitmapData(256, 256, false, 0xFFFFFF);
public var matrix = new Matrix();
public function Wgame() {
new global;//туто переменніе
addEventListener(Event.ENTER_FRAME,onBackgroundLoaded);
tile.draw(new Botl(0,0));//Botl картинго 256 на 256
addChild(new Bitmap(new Logo(0,0)));//loog)
trace('begin');
}
function onBackgroundLoaded(evt:Event):void {//собсно рисования бека
matrix.translate(0,-global.speed);
this.graphics.beginBitmapFill(tile,matrix,true,false);
this.graphics.drawRect(0,0,700,600)
this.graphics.endFill();
}
}
}
тормозит жуть мож както подругому можно реализовать вертикально передвигаюешся тайловый бек вот собсно флешка http://ho1.ho.ua/temp4.swf |
|
|||||
|
блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
|
для начала напиши this.graphics.clear
......... Я вижу такое решение - добавляем на сцену три бакгроунда - один под другим, затем, поднимаем нижние два фона вверх, пока не достигнем нижнего края нижнего фона - после этого переставляем верхний фон вниз. Последний раз редактировалось Яски; 21.06.2008 в 00:27. |
|
|||||
|
не совсем понял зачем перерисовывать фон каждый кадр? Не проще ли его нарисовать один раз с размерами ширинаЭкрана x высотаЭкрана + высоты текстуры. А затем двигать, в нужный момент "сдергивая" на исходную позицию, таким образом получиться иллюзия бесконечно длинного фона.
__________________
Челябинские флешеры настолько суровы, что пишут код во Flash IDE |
|
|||||
|
Можно нарисовать фон (высотой в два экрана) в битмап, скопировать битмап, и тягать эти два бит мапа один за другим.
http://murmadillo.narod.ru/fla/back_fast.html |
|
|||||
|
Регистрация: May 2008
Сообщений: 161
|
спасибо!
|
|
|||||
|
2Alex Lexcuk: а зачем два экрана? достаточно будет высотаЭкрана + высотаТекстуры
__________________
Челябинские флешеры настолько суровы, что пишут код во Flash IDE |
|
|||||
|
Регистрация: May 2008
Сообщений: 161
|
вопрос как теперь залить битмап текстурой?
то есть применить ето к ней |
|
|||||
|
с чего это вы так решили? это может быть лишь частным случаем
__________________
Челябинские флешеры настолько суровы, что пишут код во Flash IDE |
|
|||||
|
Регистрация: May 2008
Сообщений: 161
|
сделал так..как зазиль битмап так и необнаружыл))
package {
import flash.events.*;
import flash.display.BitmapData;
import flash.geom.*;
import flash.display.*;
public class Wgame extends Sprite {
public var back:Bitmap
public var tile:BitmapData = new BitmapData(512,512, false, 0xFFFFFF);
private var g:*
private var spr:*
public var matrix = new Matrix();
public function Wgame() {
new global;//туто переменніе
addEventListener(Event.ENTER_FRAME,onBackgroundLoaded);
tile.draw(new Botl(0,0));//Botl картинго 512 на 512
spr = new Sprite;
spr.graphics.beginBitmapFill(tile,matrix,true,true);
spr.graphics.drawRect(0,0,700,600+512)
spr.graphics.endFill();
g=addChildAt(spr,0)
trace('begin');
}
function onBackgroundLoaded(evt:Event):void {//собсно рисования бека
g.y-=global.speed
if (g.y<=-512) g.y+=512
}
}
}
Последний раз редактировалось Tfp; 21.06.2008 в 17:17. |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:56. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|