博文
什么是cookies(2007-08-29 13:25:00)
摘要:Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。
从本质上讲,它可以看作是你的身份证。但Cookies不能作为代码执行,也不会传送病毒,且为你所专有,并只能由提供它的服务器来读取。保存的信息片断以“名/值”对(name-value pairs)的形式储存,一个“名/值”对仅仅是一条命名的数据。一个网站只能取得它放在你的电脑中的信息,它无法从其它的Cookies文件中取得信息,也无法得到你的电脑上的其它任何东西。
Cookies中的内容大多数经过了加密处理,因此一般用户看来只是一些毫无意义的字母数字组合,只有服务器的CGI处理程序才知道它们真正的含义。
由于Cookies是我们浏览的网站传输到用户计算机硬盘中的文本文件或内存中的数据,因此它在硬盘中存放的位置与使用的操作系统和浏览器密切相关。在Windows 9X系统计算机中,Cookies文件的存放位置为C:WindowsCookies,在Windows NT/2000/XP的计算机中,Cookies文件的存放位置为C:\Documents and Settings\用户名\Cookies。
硬盘中的Cookies文件可以被Web浏览器读取,它的命令格式为:用户名@网站地址[数字].txt。如笔者计算机中的一个Cookies文件名为:ch@163[1].txt。要注意的是:硬盘中的Cookies属于文本文件,不是程序。
......
什么是类(2007-08-29 11:46:00)
摘要:在现实世界中,经常有属于同一类的对象。例如,你的自行车
只是世界上很多自行车中的一辆。在面向对象软件中,也有很
多共享相同特征的不同的对象:矩形、雇用记录、视频剪辑
等。可以利用这些对象的相同特征为它们建立一个蓝图。对象
的软件蓝图称为类。
定义:类是定义同一类所有对象的变量和方法的蓝图或原型。
例如,可以建立一个定义包含当前档位等实例变量的自行车
类。这个类也定义和提供了实例方法(变档、刹车)的实现。
实例变量的值由类的每个实例提供。因此,当你创建自行车类
以后,必须在使用之前对它进行实例化。当创建类的实例时,
就建立了这种类型的一个对象,然后系统为类定义的实例变量
分配内存。然后可以调用对象的实例方法实现一些功能。相同
类的实例共享相同的实例方法。
除了实例变量和方法,类也可以定义类变量和类方法。可以从
类的实例中或者直接从类中访问类变量和方法。类方法只能操
作类变量 - 不必访问实例变量或实例方法。
系统在第一次在程序中遇到一个类时为这个类建立它的所有类
变量的拷贝 - 这个类的所有实例共享它的类变量。
类和对象
你可能会注意到对象和类的说明很相似。实际上,
类和对象之间的差别经常是一些困惑的起源。在现
实世界中很明显,类不是它描述的对象 - 自行车的
蓝图不是自行车。但是在软件中就有点难区分类和
对象。着部分是由于软件对象只是现实世界的电子
模型或抽象概念。但是也由于很多人用“对象”指
类和它们的实例这两者。
类的好处
对象提供了模型化和信息隐藏的好处。类提供了可
重用性的好处。自行车制造商一遍一遍地重用相同
的蓝图来制造大量的自行车。软件程序员用相同
的类,即相同的代码一遍一遍地建立对象。......
HTML(2007-08-29 11:39:00)
摘要: HTML 一般概念:
这节将简单介绍 HTML。
全称:HyperText Mark-up Language
译称:超文本标记语言。
简意:一种为普通文件中某些字句加上标识的语言,其目的在于运用标记(tag)合文件 达到预期的效果。
HTML 是在 SGML 定义下的一个描述性的语言,或可说 HTML 是 SGML 的一个应用程式。HTML 不是程式语言,如 C++ 和 Java 之类,它只是标记语言,基本上你只要明白了各种 标记的用法便算学懂了 HTML,HTML 的格式非常简单,只是由文字及标记组合而成,于 编辑部方面,任何文字编辑器都市可以,只要能将档案存为文本格式即可, 用专门的网页编辑工具当然更好。
■ 标记写法:
·任何标记皆由"<"及">"所围住,如 <P>
·标记名与小于号之间不能留有空白字元。
·有些标记需要加上参数,有些不要。如 <font size="+2">Hello</font>
·参数只可加于起始标记中。
·在起始标记的标记名前加上符号"/"便是终结标记,如 </font>
·标记字母大小写皆可。
■ 围堵标记与空标记:
标记按型态分为围堵标记与空标记
1、围堵标记
顾名思义,它以起始标记及终结标记将文字围住,令其达到预期要显示的效果。
例如 HTML Source : <b>Creation of Webpage</b> is my favourite.
显示成: Creation of Webpage is my favourite.
其中 <b></b> 便称为围堵标记。它以起始标记<b>及终结标记</b>标示文字 Creation of webpage ,令它显示成粗体,两者失其一都会发生错误显示。
2、空标记
是指标记单独出现,只有起始标记没有终结标记。
例如 HTML Source:
I love Creation of Webpage.<br......
后记(2007-08-29 11:25:00)
摘要:后记
数据类型int和float占用同样多的内存空间,为什么看起来float可以表示更大的范围呢?
为什么能够自由的定义结构体变量,以及可以用结构体指针任意的取、写数据呢?
以上两个问题,请自行查找资料解决。
另,我这样的详细的讲解内存,只是为了,大家学习的时候多问几个为什么,不要学在表面上!一个忠告呢, 这样的细节,只要一旦了解了,就没有必要再深入了——除非你以后想研究这个!应该要关注的是如何在更高的层面上写程序——上面的这些内容,就是避免在以后高层次学习的时候,无谓的碰壁。这就好比打了预防针!
还有,程序语言的基础,除了基本的语法,还有算法和数据结构。有了这些,才能做高级的编程,比如:C语言修炼到高级,就是用函数指针说话!C++修炼到高级,就是用类来说话。从你编程的“口音”就可以看出你的级别来!
修炼到了高级,那就是游刃有余、无招胜有招!那样的代码,在别人看起来,绝对是一种美的享受,令人拍案称快!
stand alone complex
独步天下,吾心自洁。
无欲无求,宛若林中之象……
i'm walking in the dark.
事物只有两种状态:发展 和 死亡。......
内存的作用(2007-08-29 11:24:00)
摘要:内存是干吗使的?
储存数据用的!
CPU使计算和寻址用的,他每一个状态只能表示一个数。就是说,CPU只能记住当前运行时的几个数据(其实,CPU可以说,能记住更多的数据,不过,单位是K byte,就是寄存器和多级缓存,相比内存以M byte为单位,就太小了。具体就太复杂了。我们,就简化一下,认为这个CPU是一个被切除了海马区域的人(大脑的海马区域,主管人的深层记忆),他只能记住当前的几个数字)。那么,这个叫CPU 人如何帮助电脑使用者处理烦杂的计算任务呢?
他有一个好的数据管家兼数据仓库,就是内存!CPU把当前暂时不用的数据,就放到内存中,当下一次需要的时候——CPU每进行一次运算,就向内存询问一下,他下次运算需要从什么地方取得数据。得到内存提供的消息后,CPU就从该地址提取出这个值,以进行合适的运算,并把结果放到合适的内存地址去。
为了存取数据方便,内存就做成和32位CPU相匹配的样子,也是以byte为基本的单位。就是说,CPU一次可以把4个byte的数据写进内存,也能读取出去!
想象一下,这是这么样一个场面:
有着几乎无数个插孔的巨大长条行的插座,和一个有4个角的插头(以byte为单位来看),简直是随便乱插,都可以!^_^
「图略」
之所以,CPU能自由的找到数据,是因为,这4个G的内存,一个被编好了号!32位CPU的每一种状态,就代表一个具体的byte,也就决定了其具体的“位置”——相对于其他内存。
我一个int类型的数据,可以用来表示人的年龄,中国的铁路总长。在计算机中,我还可以用来表示其他数据的“地址”!你CPU是32个bit,4个byte,我一个int也是32个bit,4个byte,你能通过这个数据找到某一个地址,那么我一个int也能把这个地址值保存起来!
保存的地址值的int数据类型是啥东西!
指针!
对,就是大名鼎鼎的指针!C语言中最伟大的变量类型!
指针是干吗使的?
就表示其他数据的在内存中的存放位置!
所以,你不管是输出sizeof(int*)还是输出sizeof(char*),又或输出sizeof(short*),甚至......
什么是内存(2007-08-29 11:22:00)
摘要:什么是内存
先说“什么是内存”。
这些个内容,你若有兴趣,就当“科普内容”来听好了!
直接的感性认识,就是你电脑插在内存插槽上的内存插条,拥有台式机的朋友可以方便的看到。
「图略」
理性认识么,我们就不讨论这么深了。
然后我们要知道的就是,程序,需要内存才能够跑。比如你玩《魔兽》,商家会告诉你这需要大内存,好显卡。最好你得是512M的内存,128M的显卡。这样玩起来就比较流畅了,高级的显示效果也可以打开了。
什么呢?因为,你看啊,游戏中所有的树木、地面、人物这些,他都需要时间的数据来描述:最简单的比如位置,好比地图上的经纬度一样,你只是得用两个数字来描述。还有一个海拔,就是垂直地面的相对高度;比如,你站在一个高10米的岩石上,那么你当前的“海拔”就是10米;
数据肯定需要内存空间来存储——天上不可能凭空掉馅饼。衡量内存大小的单位是byte,我们先假设一个简单的一个数字需要一个byte的内存空间。那么,你看,最简单的游戏中的人物就需要至少3个数字(「长」、「宽」、「高」——空间的三维矢量),还不包括人物身上的东西:手啥形状,服侍是啥颜色。你可以想象,这是多少“数字”啊!一个数字对一个点内存——蚁多咬死象,需要的内存肯定是很多。
再加上如此丰富的游戏画面,可以同时在线的游戏玩家的恐怖数量,在个人的电脑上再重建这些画面,需要多少内存啊!
我们待会儿再说魔兽中的“坐标”!
「图略」
我们再说说CPU。
现在大家基本都是用的32位的CPU。那么32位是什么意思呢?指的是这种CPU有32根地址线——或者你直观一点,可以认为,这个CPU方形“插头”,有32根线头。
一般的用电器有2根的,用电两大的,容易有安全隐患的,就是3个头的:
「图略」
而32位CPU有32根地址线:
32根地址线是啥概念?
大家学过排列组合的都知道,若每根线都只能有两种状态(想象点灯的开和关)。那么:
我们先假设这个CPU只有1根地址线(靠,这怎么可能?),那么这个低能的CPU只能表示开关两种状态。
假设有2根地址线,相当于......
AS基础教程(2007-08-15 15:10:00)
摘要:现在让我们开始吧。这个游戏是我初学的时候按教程做的一个游戏,所以印象比较深刻。这个游戏叫做蜗牛赛跑,流程是这样的:画面上有若干条赛道,每条赛道上面有一只蜗牛,每只蜗牛爬行的速度不一样。游戏开始了,你要猜猜哪只蜗牛先跑到终点。如果你猜对了,You Win,否则,Game Over。
第1步,我们先设置场景的大小 600*400 px ,运行速度为 48帧/秒 这个是我个人喜好速度
第2步,我们把默认的层名称改成Bkground,并且画上赛道、起跑线和终点线,我这里是4条赛道
第3步,新建一个层,层命名成WN_Layer,然后画一个会动的蜗牛放在这个层,F8定义成MC,MC命名成WN_MC。把蜗牛的尾巴放在整个MC的正中间,如果少了这步,蜗牛还没到终点就结束了。然后复制3个一样的蜗牛,在属性栏里面调整一下颜色,使他们看起来有点区别。然后对齐放到各条赛道的起点位置。
第4步,新建一个层,命名成btn , 然后做一个按钮,复制4个分别放在4个蜗牛的旁边
第5步,记住蜗牛开始的X轴位置数据,我这里是25,然后把一个蜗牛拖到终点看看它的X轴位置数据多少,然后记下来,为AS做准备。我这里得到的是540。记得把它放回去哦~
第6步,新建一个层,命名为Actoins,用来写AS的。这个层我们需要4个关键帧。我来讲一下为什么。
我们需要一个帧来准备开始游戏,也就是让玩家猜的帧,是游戏一开始的蜗牛不动的画面。这个就由第1帧来完成了。我们做的4个按钮也就是要让玩家去猜哪只蜗牛会赢。
当游戏开始以后,玩家不能改变数据了,所以在蜗牛爬的过程中,按钮层没有内容。 第2个帧我们要让每个蜗牛都爬一次,为什么只让他们爬一次呢?因为时间轴的指针经过这个关键帧的时候,只让帧里面的AS执行一次而已。为了让蜗牛不断地爬,我们需要重复的让时间指针走过这个第2帧,所以我们第3帧的内容就是要让时间指针回到第2帧。
第3帧以后就是显示结果的帧了,那我们新建一个层,命名show ,做第4跟第5两个关键帧,在第4帧放一个胜利的字样,在第5帧放一个失败的字样 。
另外在游戏结束后,我们需要一个按钮让玩家再玩一次,所以,按钮层的第 4到5 两个帧需要一个按钮。
布置完以后,整个层的结构如图(还没有任何 AS):
现在我们有 4 个对象 : _root.wn1 , _r......
AS基础教程(2007-08-15 15:02:00)
摘要:在讲路径之前,有必要先讲一下 .语法 : 举例说明,这里要表示房间里的桌子上的一本书,用 .语法这么表示: 房间.桌子.书
如果要再细到书上的页上面的字,很显然房间.桌子.书.页面.字
看明白了吧?我也不懂得怎么说, .语法就是这样表示对象的,点的前面是其后面的父级。如房间是桌子的父级,桌子的子级就是书。
还是不明白?这样吧,你把 . 里结成“里面的”就可以了,这样就是房间(里面的)桌子(里面的)书(里面的)页面(里面的)字
这样容易多了吧?
现在我开始说路径了,其中也要夹杂的对象的说明,看:
从例子入手。新建一个Flash文件,然后创建一个MovieClip,MC命名为“MC”,放在主场景里面,然后再创建一个按钮,放在“MC”里面,然后从库里面拖一个出来放在主场景,分别给这两个元素实例命名(Instance Name , 注意是实例名不是MC的名字):MC->myMC button->myBtn
现在我们假设主场景是房子,MC是桌子,按钮是书,那么分别怎么表达房子,桌子,书呢?如下_root 房子
_root.myMc 房子.桌子
_root.myMc.myBtn 房子.桌子.书
这里的 _root 是Flash的关键字,表示主场景的 Timeline 。
很容易理解对不。这里的 房子,桌子,书 都是我们要理解的“对象”。
当你找到这个对象后,才能对对象进行操作,才能给对象施加方法。 比如,我现在要打扫房子,打扫是方法,但对象是房子,表达式是这样 :房子.打扫()
如果你不能正确的表达房子这个对象,你的打扫也就不能正确的实施了。
*说明:这里为什么要在打扫后面加()呢?因为打扫是方法不是对象,为了让Flash知道这是个方法,我们必须加上(),要不然它会以为房子里面有“打扫”这个东西。
现在,我们可以很容易的对房间里面的各个东西进行操作,如房子.打扫();
房子.木桌子.整理();
房子.玻璃桌子.打碎();
房子.书桌.书.看();
等等,相信你把它们"翻译"成AS代码没什么问题吧 :) 比如要主场景停止播放,就是_root.stop();
要MC停止播放,就是_root.......
AS基础教程(2007-08-15 14:52:00)
摘要:首先要让大家明白的是:AS 语法的大小写是敏感的。
如: gotoAndPlay() 正确 gotoAndplay() 错误 。
关键字的拼写必须和语法一致,要做到很容易,因为在Flash的AS面板里面,关键字会有不一样的颜色显示。
很多Flash小鸟们也许要开始埋怨,记不住咋办?我这里有个办法,就是背。不要流下委屈的泪水,俺们都是这么走过来的。多用两次你就记住了。
这里说一下,我们要从开始就养成编程的好习惯,如在每个语句后面都加上分号,有可能的话,尽量给复杂的语句加上注释。注释的例子://这个是注释,但是只能有一行
/* 这个也是注释,可以写很多行 */
接下来,介绍几个类型的语法。
1、几个常用的控制场景的方法,如: play(); //让时间轴的指针播放
stop(); //停止时间轴的指针在程序触发时候的那个帧
gotoAndPlay(); //让指针跳转到某个帧,然后继续播放
gotoAndStop(); //让指针跳转到某个帧,停止在那个帧
nextFrame(); //往下走一帧
prevFrame(); //往前走一帧
上面的都是方法。
方法?解:打个比方,我们管吃饭叫作一种方法,用来解决肚子饿这个问题。我们管stop()叫做一种方法,用来解决时间轴指针停下来的问题。我们管上面的几个东西叫方法,用来解决时间轴指针运动的问题。
2、控制属性的语法。有很多,我列几个:_x
_y
_alpha
_width
_name
.....等等属性
上面的都是属性
属性?解:打个比方。我们管你的身高叫做属性,用来标识你的高度。我们管你的体重叫属性,用来标识你的质量。我们管 _x 叫属性,用来标识目标的X轴坐标。我们管_alpha叫属性,用来标识目标的透明度.......我真罗嗦啊,唉。
3、控制语句流程的语法,如:if (条件){
//条件满足执行这里的代码}else{
//条件不满足执行这里的代码}
for(i=0;i<N;i++){
//执行这里的代码N次
}
while(条件){
//当条件满足时一直执行这里的代码
}
等等。这些都是基本的语法,也是AS的基础。
4、其他方法和自己定义的方法。
这里我不能把所有的语法都一一......
AS基础教程(2007-08-15 14:43:00)
摘要:1、帧:
写在关键帧上面的AS,当时间轴上的指针走到这个关键帧的时候,就写在这个帧上面的AS就被触发执行了。常见的例子有在影片结尾的帧写上 stop() 等。操作方法就是点选关键帧,然后打开AS面板。
2、按钮:
不同于帧上面的AS,按钮上面的AS是要有触发条件的。要把AS写在按钮上,操作方法是点选目标按钮,然后打开AS面板。举个例子能说的更明白。
假设有一个动画,要让它在播放完同时停止,那么,你要做的就是在这个动画的最后一帧写AS:stop();
再假设有个按钮,效果是按下按钮后停止播放,那么步骤如下。
做一个按钮,放到主场景,点选按钮,然后打开AS面板。现在如果也在按钮上写:stop();
那么,输出的时候就会提示错误。正确的应该这样写:on(release){
stop();
}
这里要比帧的动画多这些代码: on(release){} , 整个代码翻译过来就是:当(松开){
停止
}
红色的代码表示鼠标的触发事件事件之一,这里用的是 release 松开,按钮的常用事件:
release
松开
releaseOutside
在按钮外面松开
press
按下
rollOver
鼠标进入按钮的感应区
rollOut
鼠标离开按钮的感应区
现在很明确了:写在按钮上面的AS一定就是这种格式的:on(事件){要执行的代码}
3、MC(电影剪辑)
如果你看懂了上面的内容,那么写在MC上面的AS和写在按钮上的大同小异。操作方法就是点选MC,然后打开AS面板。看个例子:onClipEvent(load){
stop();
}
同样,MC需要一个事件来触发AS的执行。翻译这段代码就是:当剪辑(载入){
停止
}
红色代码同样表示一个事件。MC的事件有下面这些:
load
载入,当MC出现的时候执行。也就是除非卸载这个MC,否则load事件内的代码只执行一次
unload
卸载,当MC卸载的时候执行
enterFrame
存在的每个帧。在MC存在的每个帧都要执行一次代码。如果你的场景有100个帧,有个MC从41帧开始出现到100帧才消失,那么这个MC上面的代码执行了60次
mouseDown
按下......