[AS3]一个音频视觉效果

2008-3-24 评论(2) 分类:作品 Tags:

AS3最近还在学,但却没什么可以实践,打开电脑一个晚上什么也没干的时候太多了,乱搞也想搞点东西出来。。于是新建了个文件夹叫 dosomething。。嗯。。最近对音乐有点兴趣,就熟悉下Sound吧,看了看以前保存的有关声音波形的代码,嗯。。获取当前声音波形的快照,读出 数据后。。看到忽大忽小的数字,就想是否可以做成劲乐团那样的游戏,声波的数字大就生成一块东西,再配合按键,就可以随着音乐的节奏。。。结果觉得太麻烦 了。。还是做出波形图先吧。。直线就不做了,做了个圆的,把那个刚才说的源文件的Bitmap滤镜都照搬过来,其他的都知道是怎么回事了,就那个 ColorMatrixFilter我研究了好久好久。。都没全弄明白。。网上又找不到教程。。算。。最近师青有任务,本来我是想用FLEX做的,但体积 太大了,放在校园网上,外网访问又慢,不可取。。唉,只能忍痛,乖乖用JAVAscrīpt做吧。。因为这样,所以尽快把这个了结了。。。虽然没多少是自 己的,但感觉效果还不错,欣赏下吧。。
(更多…)

美工 近作

2008-3-12 评论(1) 分类:作品 生活 Tags:

recentwork

recent work:http://bangswork.googlecode.com/svn/trunk/recent/index.html

早上CC发了个消息来,说那间公司叫我交份简历上去。大概在一星期前他就跟我说了,他以前在一公司做美工,现在退了,所以那公司要招人,而且是要在 校大学生,他就推荐了我。我问用不用附作品,他叫我作品放到网上,刚好现在那个免费空间还没挂,可以放。本来想直接把最近的作品加到现在的网站那个 FLASH上,但由于源文件丢了,要改只能破解,破解完后又乱七八糟的,改不了,就只能再做个页面放咯。。所以下午回来就没午睡了,一直在做,直接改前几 天CC叫我做的页面,效果感觉还挺好。不过最近我的作品实在太少,说是最近,有些都扯到高二时的东西去了。。写简历里的自我介绍真痛苦,绞尽脑汁都不知道 写啥好,最后写了很少。。

[AIR][开源]帐本程序

2008-2-12 评论(8) 分类:作品 Tags:

account

下载: account.air (595 KB) 使用本程序需要下载安装air runtime

源程序: account-source.zip (1.35M)

一直想为自己量身定做一个帐本,一直没有找到合适的做法,FLASH不支持写入文件,需要配合ASP等语言,用起来也麻烦,C++我也不熟,虽然它 能写入文件,但不知道用什么方式储存数据好。ADOBE AIR在上大学之前已经接触过了,不过仅是接触而已,最近偶然发现AIR可以写入文件,就动起了用它做个帐本软件的念头。做这个最大的困难就是国内实在没 什么资料,英文资料也挺少,遇到什么问题都搜不到答案,只能靠自己摸索,一直在啃英文帮助,头几天摸索file类就摸索了很久,摸索到几乎想放弃,不过后 来越写越顺,写得很爽。

这次跟以前做东西不同的是,我在还没写程序之前就把程序的流程写好了,考虑得还算挺周到,写程序的时候也增删了不少,这次注意了很多细节方面的 问题,所以,写了500多行代码~~~是我除了飞机游戏外写得最多的了。注释也写得挺多,应该比较容易看懂。有兴趣的可以下载源代码看看~~外观我模仿了 官方示例程序kuler,自我感觉外观做得挺不错~~有空我会写上用FLEX做AIR时的一些常见问题。

最近做的东西

2007-12-21 评论(0) 分类:作品 Tags:

最近做的,第一个是班服的肩章,不是我设计的,是同学用手画完再让我做电子版,就图案来说感觉挺不错,但就没什么意义。第二个是学生会培训后的作业,也算是为学生会做的最后一个东西。第三个是百挑的圣诞专题,没什么。这两个网页做得比较差强人意,自我感觉不好~~


作业—我的奥运

2007-11-21 评论(0) 分类:作品 Tags:

数字媒体艺术概论课教了几节课的PS跟FLASH,要我们做作业,主题是我的奥运,估计我是理解错了,我理解成我心目中的奥运,然后就很自然地想到了科 技,就做了科技奥运这个主题。PS那张自我感觉挺好的,虽然没多大创新。FLASH则是应付性的,因为上个星期事情太多了,没多少时间做,所以就只是让 PS的那张图片动态化而已。仅是这样也花了我两三个小时的时间。。

olympic

[AS3]DNA链

2007-8-27 评论(0) 分类:作品 Tags:

很早就想自己做出一个DNA链的FLASH来,看完《Make things move》的3D章目后,经过改动上篇文章里的3D旋转效果的FLASH,很容易做出了DNA链,但是,没连线的DNA下半部分还好,上半部分看起来挺失 真,不知为啥。连线的DNA跟上篇的正方形连线有同样的问题,就是不能用sortZ()否则连不成,我也懒得再去研究了。。。

源文件下载


[AS3]FLASH 3D

2007-8-25 评论(1) 分类:作品 Tags:

十几天前,在网上发现了《Actionscrīpt.3.0 Animation Make things move》这 本书,下载后发现里面有FLASH 3D的教程,十分惊喜,于是便开始啃完书内的3D教程部分。这本书写得十分详细,看完后我对FLASH里3D的制作已经有所了解,不过还是有许多不明白的 地方,下面是我前两天参照教程做的3D,其中正方形的那个有两个问题:一个是,如果照书上所说用zsort排列八个点就可以使离屏幕近的点出现在上面,但 无法完成绘制正方形,如果不用zsort()可以绘制正方形但无法使离屏幕近的点出现在上面。另一个是,正方形旋转久了后会出现失真的现象,变得完全不像 一个正方形了,继续旋转会变回来,周期性失真~~想不透为什么会这样。研究3D真伤脑筋,搞得我近几天没什么兴致继续学习~~下面两个的源代码不用放出 拉,想知道的下载上面那本书就行了,推荐下载。

[AS3][开源]拼图游戏。。终于完成。。

2007-8-14 评论(5) 分类:作品 Tags:

puzzle

效果查看:http://cnbang.net/lab/puzzle/index.html

源文件下载:puzzle.zip

上篇说到,拼图游戏做到一半不知道怎么做也不想再做了,但前几天看到一些方法,知道了下一步该怎么做,而最近AS3又不知怎么学了,于是就想把它完成,当作练习。

这个程序写得该是我最简洁的一个(我没说很简洁。。),以前我写的都是乱七八糟的一堆东西,有效果就行了,这次我很注意代码的简洁性了,还加了注释。。前所未有。

附:解决FLASH PLAYER安全性问题:
打开C:\Documents and Settings\Administrator\Application Data\Macromedia\Flash Player(我计算机用户名为Administrator,记得把隐藏文件夹打开)

用记事本打开这个目录下的FlashPlayerTrust文件夹下的myTrustFiles.cfg文件(没有就创建一个)允许哪个路径下的 SWF文件可以与internet通信的就把路径写上。。最简便的方法当然是把你机器里所有的盘都给他写上…保存关闭。OK了

[AS3]摄像头录制

2007-7-30 评论(1) 分类:作品 Tags:

看了AS2做的摄像头录制程序,挺简单的,就想用AS3做,练习一下,本以为很简单,没想到写了代码后错漏百出,好不容易都改正过来了,结果怎么调录制的图象跟原图象的尺寸都不一样,搞得我都不想再做了。先放上来,高手知道的说下啊~

源文件下载

AS文件代码:

package{
import flash.display.Sprite
import flash.media.Camera
import flash.events.MouseEvent
import flash.display.BitmapData
import flash.events.Event
import flash.media.Video
import flash.display.Bitmap
public class camera extends Sprite{
var mycamera:Camera=Camera.getCamera()
var myvideo:Video=new Video()
var bit:Array
var vwidth=250
var vheight=200
var i:uint=1
var playvideo:Bitmap=new Bitmap()
public function camera (){
myvideo.attachCamera(mycamera)
myvideo.smoothing=true
myvideo.width=vwidth
myvideo.height=vheight
myvideo.x=50
myvideo.y=30
addChild(myvideo)
addChild(playvideo)
}
public function rec_btn(btn){
btn.addEventListener(MouseEvent.MOUSE_DOWN,on_rec_btn)
}
public function play_btn(btn){
btn.addEventListener(MouseEvent.MOUSE_DOWN,on_play_btn)
}
public function stop_btn(btn){
btn.addEventListener(MouseEvent.MOUSE_DOWN,on_stop_btn)
}
public function on_rec_btn(event:MouseEvent){
bit=new Array()
i=1
addEventListener(Event.ENTER_FRAME,onenterframe)
}
public function on_stop_btn(event:MouseEvent){
removeEventListener(Event.ENTER_FRAME,onenterframe)
removeEventListener(Event.ENTER_FRAME,onenterframeplay)

}
public function on_play_btn(event:MouseEvent){
addEventListener(Event.ENTER_FRAME,onenterframeplay)
}
private function onenterframe(event:Event){
var rec:BitmapData=new BitmapData(vwidth,vheight,true,0xff)
rec.draw(myvideo)
bit.push(rec)
}
private function onenterframeplay(event:Event){
if(i<bit.length){
playvideo=new Bitmap(bit[i])
playvideo.x=360
playvideo.y=30
addChild(playvideo)
i++
}else{
removeEventListener(Event.ENTER_FRAME,onenterframeplay)
}

}
}
}

[AS3]输入两边一角画三角形

2007-7-29 评论(0) 分类:作品 Tags:

这几天都在学习AS3,感觉像是从零开始,跟AS2差别很大~经过啃书,大概知道了它的模式,没什么好练习,就上次画三角形的代码写成AS3,不同的是这次是输入两边长和一个角度,似乎这样才能确定一个三角形,输入两个角度的怎么做我还不知道~~~

代码:

package{
import flash.display.Sprite
import flash.events.MouseEvent
import flash.text.TextField
import flash.text.TextFieldType
public class triangle extends Sprite{
private var btnS:Sprite=new Sprite()
private var drawS:Sprite=new Sprite()
var aside:TextField=createtxt(150,350,40,20)
var bside:TextField=createtxt(200,350,40,20)
var angle:TextField=createtxt(250,350,40,20)
var ctrl:TextField=createtxt(350,350,40,20)
public function triangle(){
aside.type=TextFieldType.INPUT
bside.type=TextFieldType.INPUT
angle.type=TextFieldType.INPUT
aside.text=”边长a”
bside.text=”边长b”
angle.text=”ab夹角”
btnS.graphics.beginFill(0x000000)
btnS.graphics.drawRect(300,350,40,20)
btnS.buttonMode=true
btnS.addEventListener(MouseEvent.MOUSE_DOWN,onbtnDown)
addChild(aside)
addChild(bside)
addChild(angle)
addChild(btnS)
addChild(ctrl)
}
private function createtxt (x:Number,y:Number,width:Number,height:Number):TextField{
var result:TextField=new TextField()
result.x=x
result.y=y
result.width=width
result.height=height
result.border=true
addChild(result)
return result
}
private function onbtnDown(event:MouseEvent){
drawS.graphics.clear()
var a=Number(aside.text)
var b=Number(bside.text)
var ag=Number(angle.text)
if(ag<180){
drawS.graphics.lineStyle(1)
drawS.graphics.moveTo(100,50)
drawS.graphics.lineTo(100+a,50)
drawS.graphics.lineTo(100+a-b*Math.cos(ag/180*Math.PI),50+b*Math.sin(ag/180*Math.PI))
drawS.graphics.lineTo(100,50)
addChild(drawS)
}else{
ctrl.text=”error”
}

}
}
}