我已经有很多次遇到需要接连不断地滚动背景图片的需求了,例如说跑酷类型游戏的背景,星空,远景的云海等等。
以从右向左滚动为例,之前的实现办法,是把一个长卷的背景图切成两片,先滚动其中一片(用Tweener或是用EnterFrame随便你),当该片滚到stageWidth-imageWidth的位置时,马上将第二片移动到屏幕右侧以同样的速度滚动,这样在视觉上就造成了一个接连不断的假象。
在参照了Devon O. Wolfgang的博客后(原文 他管这个叫UV Scrolling,好高端哦~),得知在Starling中提供了一种非常方便的办法,同时由于其使用了位图像素操作的办法,效率很不错,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[Embed(source="sky.jpg")]  
var skyClass:Class;
var sky:Image;

var img:Bitmap = new skyClass();
var tex:Texture = Texture.fromBitmap(img, false, true);
//this is the point that make texture successive
tex.repeat = true;
sky = new Image(tex);
this.addChild(sky);

this.addEventListener(Event.ENTER_FRAME,function(e:Event):void{
var p:Point;
for (var i:int = 0; i < 4; i++)
{
//this is the point that make texture scroll
p = sky.getTexCoords(i);
p.x += 5 * .00002;
sky.setTexCoords(i, p);
}
});

这种办法滚起来很自然,效率也不错。其原理(我猜测)和我刚刚讲述得很相似,只是位图操作可以部分地截取和拼贴位图,所以效率会好一些。

另外,为了解决之前程序在打开时,初始化要等半天(15秒),卡成翔的问题,(我曾经一度将其归咎为Starling初始化的机制问题,但是当我把官方附送的例子发布出来后,发现人家不卡……),我暂时有两点可以谨记:

Read more »

“土豪坐飞机空姐让关机,土豪拿着5S说:看!这是最新款土豪金!满心期待空姐与他交朋友,谁料空姐默默地拿了个iPhone 3G出来说:这是你大爷!土豪顿时傻眼!坐在旁边的大哥默默的拿出了4S轻轻说:这是你二大爷,又默默的拿出5说:还有你爸。后座拿出5C说:还有你妹!”

Read more »

这个步骤,我去年的时候,和几年分别重复过若干次,应该趁着还记得,赶快纪录一下这个步骤,让我理清一下思路。

我是需求式的学习,所以我先要遇到一个需求,下面的截图就是我想用Flash Builder发布一个iOS应用时候的需求。

[![](https://archive.writeitdown.site/%2525E5%2525B1%25258F%2525E5%2525B9%252595%2525E5%2525BF%2525AB%2525E7%252585%2525A7%2525202013-10-019.png)](https://archive.writeitdown.site/%2525E5%2525B1%25258F%2525E5%2525B9%252595%2525E5%2525BF%2525AB%2525E7%252585%2525A7%2525202013-10-019.png)
可见,我需要两个文件,一个是扩展名为.p12的证书文件,另外一个是扩展名为.mobileprovision的应用配置文件,一个用来确认你的开发者身份,一个用来确认你的应用身份。需要注意的是:这里列举的所有步骤,其实不仅限于用Air做开发,利用任何第三方框架开发iOS程序都需要这个步骤。

去developer.apple.com注册一个Apple ID,如果你之前通过iCloud,App Store等任何苹果相关网络产品注册过,都是ok的,这个过程没有什么难度,可以随意发挥。

[![](https://archive.writeitdown.site/%2525E5%2525B1%25258F%2525E5%2525B9%252595%2525E5%2525BF%2525AB%2525E7%252585%2525A7%2525202013-10-16%252520%2525E4%2525B8%25258B%2525E5%25258D%25258810.00.52.png)](https://archive.writeitdown.site/%2525E5%2525B1%25258F%2525E5%2525B9%252595%2525E5%2525BF%2525AB%2525E7%252585%2525A7%2525202013-10-16%252520%2525E4%2525B8%25258B%2525E5%25258D%25258810.00.52.png)
注册成为一个Apple Developer, 这个部分也没什么好说的,会让你选择要作为哪种开发者,iOS,Safari,或者Mac OS,随便填吧,成功后,你会来到Developer的主页(付费的部分我就不罗嗦了,首先……你要有一张……能做美金支付的……信用卡)。

由于公司项目的新需求,我即将结束这段漫游式学习H5C3J的过程,我一定会在适当的时候,把它再捡起来的,因为其中的C3几乎就是没开始,J进展得最多,H5对Canvas了解得最多,水深啊,水深。

我将再次架起Flash Builder + Air + Starling,做项目的开发工作。

Read more »

这几天一直在一个小东西上改来改去,今天终于成了一点形,得马上记录一下,不然就堆积得太多了。

首先是编写好一个Bird类,或者说,Vehicle,又或者说,Atomic类,总之是一个具备了2D向量行为的类型,下面我很自然的顺着原来的思路,想要编写一个该类的子类,然后第一次发现JavaScript是木有继承概念的……啊,我孤陋寡闻了。

Read more »

之前看到有人拍摄自己老家的房子,我就一直想要去拍一下自己家的老房子,我生怕哪天它也被拆了,或者周边被改建得面目全非,再也找不到当年的影子。我从出生开始,就在那里一直住到2006年,足足24年,自从06年搬家离开之后,就再也没回去,我和老婆说过,我是一个一旦离开一个地方,就再难回去的人。

某个“一定要带老婆/老公做的N件事”的大排档帖子中,有一条就是,要带TA去看看你出生的地方。于是,10月4日那天,作为我开始变老的标志性行动的开端,我带着老婆和孩子去了我的老房子。
老同学家

Read more »
0%