[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真伤脑筋,搞得我近几天没什么兴致继续学习~~下面两个的源代码不用放出 拉,想知道的下载上面那本书就行了,推荐下载。

仙剑奇侠传4

2007-8-15 评论(2) 分类:随记 Tags:

昨天仙剑4玩到结局了,在此发表我对仙剑4的一些看法。

一,剧情

刚开始玩的时候,觉得剧情挺没看头,不禁怀念起仙剑3及外传的剧情来。玩到中段,主线剧情开始突出,越来越吸引人,不禁令我拍手叫好,仙剑是靠 剧情吃饭的,剧情当然差不到哪里去,小看它了,下次注意~~不过这次剧情有一个非常大的缺陷就是结局太太太烂了,结尾突然冒个九天玄女,让人措手不及,几 句话就把所有问题都解决了,猛啊!!让人(我)感觉结局十分仓促,又并不合理,总之就是烂,也许编剧的人想来个出乎意料的结局吧,“出乎意料”看起来是仙 剑4的主题,在中段的时候,以为最终BOSS是妖界之主,最后却是正派的掌门,出乎意料;以为小紫英会跟其中一个女主角发生暧昧关系,最终小紫英只有在一 旁“…………”吃醋的份,出乎意料,柳梦漓这样一位柔弱女子竟然是妖界之主的女儿,出乎意料,等等。这些还都不错,结局的“出乎意料”就太烂了。

二,画面

对仙剑4的画面,总的来说就一个字:赞!见过美的,没见过这么美的,仙剑4的画面真是太美了,我是真的没见过这么美的,每个场景都能构成一幅 画,特别是逛灯会那个场景,虽然月亮偏大了些,但那景色真的是,如诗如画啊,有人说仙剑4的画面技术跟外国6年前的技术差不多,我不太相信,不过也许仙剑 4画面的美主要美在配色方面,渲染氛围等方面,对技术的要求不是很高的缘故吧。除了画面美,战斗系统中的很多招式都令人赞不绝口,两位男主角的技能都炫得 不行,武器注灵后还会发出不同的光,最终BOSS的招式也是——炫。仙剑4的画面,赞赞赞赞赞赞!

三,迷宫

玩完仙剑3外传,刚进入仙剑4的迷宫,有点害怕的感觉,因为仙3外传的迷宫真是太BT!后来发现,仙剑4的迷宫应该算是仙剑系列中迷宫最简单的 了,很多简直不能称为迷宫,想必听玩仙3外传的人的抱怨听多了的缘故吧。还有一个变化就是以前一般每走完一个迷宫就会有一个BOSS,仙剑4则很少有,还 有像进入幻暝宫时就直接连打两个BOSS,一点先兆都没有,挺突然~~不错的设计。最后就是小怪物能力提升了,早期很容易被小怪物KO,惨~~

四,人物

这次的主角是个山顶野人,这个设计蛮有新意的,同时也增加了编剧的难度,编剧的人不得不对他的一言一行再三斟酌,要是言语举止不符合野人的特 征,那就完全失败了。从我看过的对话中,主角说的话都蛮合理的,编剧的人成功地塑造了一位单纯的主角,单纯的人一般都会招人喜欢,这次的主角设计得还是很 成功的。

女主角一号,菱纱同学,刚刚在寿阳城看到她的通缉令时以为有什么内幕,原来她确实是个不折不扣的小偷,不仅盗墓,平常也经常偷些东西,看她在鬼界中偷那个什么东西的熟练程度就知道了,以这么一个盗贼做女主角还真是少见。对她无法评价~~~

女主角二号,梦璃同学,一副柔弱的身躯,再加上轻飘飘的衣服,让人怀疑一阵风吹过她能否站得稳,可她却是那片头强悍的妖主的女儿,令人汗颜~她的戏分比较少,本人也不太喜欢看见她说话,因为她说的话都是~~让人有痴痴的感觉~

男主角二号就不说拉,值得一提的是BOSS玄霄,向来那些亦正亦邪的人通常都会招人喜爱,像仙三的重楼,像香港漫画神兵玄奇的玄天邪帝,都招到 大多数人的拥护,这次的玄霄正是这样亦正亦邪的人,大家在看结局的时候不知有多少人希望玄霄立地成魔~~要是那样的话人气还会更高的~~~可惜一块这么好 的魔料~~埋没了~~

五,音乐

看来今年的年度最佳游戏音乐还是非仙剑4莫属,跟历代仙剑一样,音乐都是一流的,不过有人说这次跟以前的仙剑一样,只有主题曲是亮点,其他一 般,我则刚好有相反意见,我不太喜欢主题曲,感觉比仙3及外传差很多,游戏里的音乐我则非常喜欢,特别是进入琼华派时的音乐,相比同一类型音乐,仙3进入 蜀山时的音乐好多了。其他很多地方的音乐也很符合游戏的场景,在不周山的时候音乐把阴深的气氛烘托得很好~~~赞~

[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了

仙剑4&拼图

2007-8-9 评论(3) 分类:生活

最近学习AS3的进度慢了很多,主要是因为电脑里的新游戏太多了,游戏一玩就顾不上学习了,近来在玩仙剑4,看见游侠论坛上很多人骂仙剑4画面差,我觉 得不解,仙剑4的画面应该是我看过的3D游戏中最唯美的了,每个画面都能当一幅画来欣赏,不过剧情方面目前我认为不像仙剑3那样吸引,仙4还有一个特点就 是小怪物超BT,死了好多次。回归正题,最近FLASH方面我在尝试做一个拼图游戏,但遇到的问题实在是太……多了,很多小方面的问题我都不懂,不得不在 论坛上求助,已经大概发了五、六帖求助了,最后基本效果是出来了,但拼图自动粘和的问题我都没有思路,做不出来了,索性就不做了。本来想要放上来的,但刚 在论坛上看到一个帖子,做的拼图效果跟我差不多,也是没自动粘和,再搜一下“拼图”,一大堆,既然资源这么丰富,我那个代码不规范的东东就不放上来献丑 了。。

[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)
}

}
}
}

我的专业

2007-7-29 评论(2) 分类:生活 Tags:

昨晚才知道华师能查录取的专业了,查了后,不出所料,是我报的第一个专业,软件工程(数字媒体艺术),我觉得这个专业是非常适合我的,要是选一昧研究程序的软件工程,挺枯燥的,这个专业混合了一点艺术设计,正合我意啊。今天上华师看了下专业介绍:

软件工程(数字媒体方向)专业 数字音频视频、游戏动画、虚拟现实等构成了新一代的数字传播媒体技术,数字媒体 专业是以数字媒体技术为主、艺术为辅、社会发展急需的新方向。本专业培养具有计算机科学与技术、软件工程和一定美学素养,特别具有数字媒体技术处理技能, 熟练地掌握数字媒体艺术设计和制作的应用型软件人才。学生毕业主要从事影视、广告、教育、动画、游戏、建筑、环境设计等行业相关工作。
核心课程包括:高级语言程序设计、计算机网络、数据库系统原理、艺术设计概论、平面 / 立体设计、图形学与艺术设计基础、数字媒体导论、数字图象处理基础、数字音视频技术、数字媒体设计工具与应用、视频特技与非线性编辑、动画原理与设计、网络游戏、游戏设计与制作等。

技术为主,艺术为辅,很理想!!我希望毕业后能从事游戏行业的相关工作~~期待梦想成真了~~

[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”
}

}
}
}

[AS3]使用stage出错的问题。

2007-7-29 评论(1) 分类:技术文章 Tags:

这两天看AS3 cookbook和AS3的帮助文档,里面很多代码执行后都会出现“TypeError: Error #1009: 无法访问空对象引用的属性或方法。”这个错误。几经周折,才知道解决办法:使用addEventListener( Event.ADDED_TO_STAGE, enterDLHandle ),把要用的stage代码放到enterDLHandle里面,就没问题了。不知道有没有其他解决方法,知道的说声啊~

在经典论坛上提问这个问题,终于有人做出全面回答了,在此感谢zjs35

首先要明白stage是什么意思,stage是显示对象的一个引用舞台的属性,如果显示对象不在显示列表中,即没有用addChild()添加,stage等于null,你的问题就在这里。
使用stage有下面几种方法:
1、文档类的构造函数中可以直接使用stage属性
2、非文档类可以通过参数传递到类里面。
class Test extends Shape
{
function Test(stage:Stage)
{
}
}
3、不想传递参数时,要注意代码的顺序。
class Test extends Shape
{
function Test()
{
}
functon useStage()
{
trace(stage)
}
}
这样使用
var test=new Test()
test.useStage()//null,你的问题出在这里
addChild(test)//添加到显示列表后,就可以使用stage属性。
test.useStage()//[object Stage]
总之,理解stage是显示对象的属性,位于显示列表中的显示对象的stage才引用舞台

输入角度画三角形

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

时隔两年,最近又有兴趣学习FLASH了,主要当然还是学习AS2、AS3,算是为大学的软件工程做准备吧。今天在论坛上看到有人要一个填度数画三角形的FLASH,就试做了下,粗略地写出来了,但不知如何判断另外两条线的交点….知道的高手们回复说下~~

_root.createEmptyMovieClip(“line_mc”,100)
ok_btn.onRelease=function(){
lineang1=-(ang1/180)*Math.PI
lineang2=(ang2/180)*Math.PI
line_mc.clear()
line_mc.lineStyle(1)
line_mc.moveTo(50,50)
line_mc.lineTo(200,50)
line_mc.beginFill(0xFF99CC);
line_mc.moveTo(200,50)
line_mc.lineTo(200-300*Math.cos(lineang1),50-300*Math.sin(lineang1))
line_mc.moveTo(50,50)
line_mc.lineTo(50+300*Math.cos(lineang2),50+300*Math.sin(lineang2))
line_mc.endFill();
}

FLA源文件

电影与流水帐

2007-7-25 评论(1) 分类:生活

7月16号到23号,我一直在看电影,这几天看的电影比以前所有看的电影还多,平均每天应该有看2-3部。把该看的电影例如《泰坦尼克号》《黑客帝 国》都看了,还有另外一些电影。影评我是写不出来了,写一点零碎的东西。看《泰坦尼克号》的时候,看到女主角吹笛子求救的那一幕我差点被感动得流泪,但最 终还是保持了我看电视小说永不流泪的记录。只是我自己也感到有点奇怪,那么多可以感动的地方我不感动,偏在那不起眼的一幕感动,真奇怪。另外一部电影《当 幸福来敲门》我挺喜欢的,不过就是有点不太现实,男主角居然完全没有亲戚朋友,亲戚可以不说,也许是孤儿,但朋友总不能没有吧,而且他的交际能力又那么 好。那天晚上他们父子睡地铁厕所的那一幕确实十分感人,但不真实。《墨攻》的最后一战革离竟然让那个奴隶去挖地道送死真是不可理解。暂时电影的就说这么 多。

记个流水帐,23号晚,麻烦来了,胃一直不舒服老涨着想吐,24号去检查,说是十二指肠球部溃疡,这么严重的东西出现在我这个20岁的小孩子身 上有点不可思议,但既然出现了就没办法了,吃药!但回来后胃继续不舒服,到傍晚情况加剧,去打吊针,到早上只有一点点好转,再去医院,医院医生叫我到人民 医院做胃镜,我们到人民医院问另一个医生,那医生痛批前一个医生开的药,并说不用做胃镜,吃点平常的药就好。早上吃了药,今天胃已经不会不舒服了,也许昨 晚打吊针也有一定的功劳。总之,好了就好。不过以后恐怕要长时间与胃药打交道了。