有哪些小游戏网站有哪些是new格式

公告:2010年网站重新改版上线! 欢迎亲爱的舟友们回来,继续支持7880.com
热门关键词:
游戏制作
热点文章
推荐文章
精彩推荐
游戏制作
点击:2134 发布日期:03/16
游戏界面: 图1
  源文件下载:点击这里进入下载页面
游戏概述:
  在Flash游戏中,打小狗(老鼠等)游戏是比较基础的游戏了。如果对Flash游戏设计有兴趣的朋友,想学习如何用Flash来制作游戏的朋友,可要好好学习这个游戏的制作哦。因为该游戏中使用的都是一些比较基础的、基本的和常用的ActionScript脚本语言。另外,我们也可以从中学到Flash游戏策划、设计到制作完成的一些概念、方法和技巧等知识。
游戏原理:
  首先,游戏通过startdrag()、Mouse.hide()来改变隐藏原来的鼠标,把原先的鼠标换成菜刀,这样砍起来才过瘾嘛:)。使用Math.ramdon()并配合遮罩技术使小狗能随机得出现在洞口。最后的总分会在一个输入文本框中显示出来,见图1所示。
游戏玩法:
  游戏的玩法很简单,相信大部分读者都应该知道。就是先移动鼠标到小狗的头上,然后安下鼠标左键,击中小狗就得分,否则得分为0。玩这个游戏的意义就在于,看谁能在一定的时间限制内,得到最多的分数,以测验谁头脑反应的最块,谁操作鼠标最灵活。
游戏定义:
  在设计游戏前,总需要考虑这样几个问题,游戏环境的形成、规则的创建以及如何编写游戏的代码。但幸运的的是,这个打小..
点击:1119 发布日期:02/19
系列文章:
  游戏开发系列一:游戏中的敌人(1)  游戏开发系列一:游戏中的敌人(2)  游戏开发系列一:游戏中的敌人(3)  游戏开发系列一:游戏中的敌人(4)
  讲过最简单的跟踪,我们来看一下复杂一些的跟踪,这里还是不去讨论障碍,因为那需要额外的数据支持。
  五、跟踪导弹
  看看这个例子,在动画屏幕上按下鼠标,导弹就会跟踪玩家,直到击中玩家:
  对于新手来说,一下子就实现它可能不太容易,我们来一点一点的做。
  (1)导弹的方向
  我们先来实现导弹朝向玩家的功能,就像下面这个:(按下鼠标观看)
  首先,我们注意到,敌人的导弹是要朝向玩家的,这和前面不同。前面的敌人是一个圆头圆脑的家伙,不用分辨它的方向。我们就先来看一下如何让敌人有方向感。
  首先给新手讲解一下基本知识:用鼠标来触发动画。
  我们先设定一个变量,布尔类型的 clickable。在初始化的时候,我们将其设置为真,即 true。
var clickable:Boolea init = function () { enemy._x = 40 enemy._y = 350 enemy._rotation = 0 clickable = true;};
  而当鼠标按下的时候,我们来判断 clickable 是否为真,如果为真..
点击:670 发布日期:02/17
一年多前写的一份教材,原理上和FLASH游戏得分排行榜一样,改进一下就可以了。教材是以前写的,菜鸟作品~~~不足之处,多多指导。希望可以帮到你。oo ee上先看看效果
2003-07-08 写的一份东东~~
很久都没有写过教材了,为了感谢大家的支持,只好硬着写一篇吧,就暂时叫FLASH和ASP之间的通讯吧。希望也可以说出点东西,当然不足之处,大家就要多多包涵,多多指出啦,废话不说了,开始啦~~~~~:FLASH做为一种WEB平台,在互动性非常强大,加于ASP,PHP、XML,javascript,等等语言或后台的支持,只要发挥你的想象和创意,可以腾云驾雾啦:)目前很多都是网站都是采取了FLASH+ASP等开发,那就说下他们之间是怎么联系的啦~下面我做一个简单的FLASH+ASP+Acce 的留言版,其实也可以说是一个简单的聊天室,在制作中,说明一下FLASH做为WEB平台怎么和后台的联系先看看下面的的FLASH :第一个是用来发送信息的,它会把FLASH填写的信息发送到ASP中,然后ASP获取变量,存储数据库中,返回发送一个接收到的信息给FLASH,这样FLASH就知道变量已经存储了,完成了信息发送存储数据的过程。第二个FLASH是读取ASP显示出来的数据,这些数据按照一定的写法传递给FLASH,然后FLASH显示出来。..
点击:912 发布日期:02/16
  在开始新的课程之前,我们回顾一下很早以前在游戏中经常出现的一种敌人类型。
  四(插)、半随机移动的敌人
  看看这个例子:
  我们可以看到,一个敌人按照一定的规律从上面到下面移动。主要的规律是自上而下,但是移动的范围是随机的。这种方法在早期的游戏里面经常使用,包括一些大型的游戏。其实这是一种非常简单的运动方式,但是如果使用得当,也很有威胁。
  我们大概瞧一下原理:
  敌人每次向一个方向以随机的速度走八步,然后再改变方向,再走八步。在这个例子里面,为了简单说明,敌人走到画面底部以后,我们会让它重新回到原来的位置,重新再走。
  我们创建一个对象 enemy_obj 来保存敌人的运动状态,当然你也可以把这个对象的属性直接赋予给 enemy 这个 MovieClip。我们这么做应该会清晰一些。 enemy_obj 有一些属性,我来介绍一下: eedX : x 方向速度 eedY : y 方向速度dirX : 方向, -1 or +1cur : 当前步数
  我们写一个初始化函数 init() 来初始化这些数据:
init = function () { enemy_obj. edX = enemy_obj. edY=0 enemy_obj.dirX = -1 enemy_obj.cur = 0 enemy._x = 150 enemy...
点击:324 发布日期:02/13
作者:Pom
翻译:ShuhanKuang
本文章发表已经获得作者的允许,
原文章地址:http://www.kirupa.com/developer/actio cript/pongout.htm
P/S:里面的教程都很棒的,有兴趣的可以到那里学习学习。^_^。还就是翻译过程中难免出现错误,希望指出和更正。(总文件在7楼)
正如你所知,在FLASH中有很多方法检测碰撞的,有一个方法叫hitTest(),在自带字典里有两中解释:
myMovieClip.hitTest(target) // 电影剪辑和电影剪辑的检测
myMovieClip.hitTest(x, y, shapeFlag) //点和电影剪辑的检测
如果你曾经用过这两个个方法,你肯定会发现它的局限:第一函数,只能检测两个包含剪辑的最小框的碰撞,(图中包含剪辑的蓝色矩形),在我下面做的简单的示例中,你可以得知当剪辑不是规则的矩形的时候,这样的检验是没有什么作用的,(例如两个圆,或两条角度不同的直线)。
(图1)
你可以得到这个结论,FLASH检测了“非”碰撞。(“非”这里是自己想的,毕竟水平有限不知道怎么解释好)
第二个函数能进一步准确地检测碰撞,但它只局限在一个电影剪辑和点的范围内。
下面还有一个关于hitTest()方法的问..
点击:485 发布日期:02/13
今天整理文件的时候,发现自己以前有些做过的东西都快被自己遗忘了,挑了个有用的,发给大家看看。这个效果做了是一种飞机的子弹效果,1945里的BF-109蓄力子弹动态效果就是这样的,不过它还加上了颜色效果。效果是这样的,由于是开学时做的,用的还是AS1,大家随便看看了~~~算法还有点小用。看效果先,按数字键0激发:
点击浏览该文件
/Upload/2005-02/200511520102991.swf
把这种子弹做定帧播放效果应该是这样的:帧一:| |||| |||| |帧二||| |||| |||帧三(重复帧一)| |||| |||| |所以,只要在左右两边各复制出一排子弹,按上面这种位置进行变化即可。
//子弹起名bullet //飞机起名smallplane _root.onLoad=function(){ templ=2.5; tempr=-2.5; L=-7.5; R=7.5; initialize=false; starts=false eed=3; bullet._visible=false; } a=new Object(); Key.addListener(a); a.onKeyDown=function(){//按数字键0激发动作. if(Key.isDown(96)){initialize=true;} } function initializebullet_L(){//初始化左路的子弹。 L+=smallplane._x;//左路起始位置初始 for(var i=1;i=11;i++){ bullet.duplicateMovieClip("bulletl"+i,i+50);//复制,设位. eval("bulletl"+i)..
点击:583 发布日期:02/13
大家看到这个标题有没有一些新游戏的想法呢?在FLASH中也可以实现及时获取玩家的头像来做游戏中主角的头像了哦!大家先看几张图! 点击浏览该文件
/Upload/2005-02/20041230203310769.swf
呵呵````图片中的就是本人了!下面来看怎么实现:先看这个SWF实例!
(先申明,绝对不是骗人,要有摄像头才能看到效果哦!)
操作方法 空格键拍照!要先设置允许使用摄像头! 点击浏览该文件下面来解释代码:
my_cam1 = Camera.get(); i = 1; _root["camovie"+i].my_video1.attachVideo(my_cam1); function changecam(){ i++; if (i 10){; i = 1; } _root["camovie"+[i-1]].my_video1.attachVideo(my_cam2); _root["camovie"+i].my_video1.attachVideo(my_cam1); }
解释在这:
第一行代码将摄像头的信息获取并存入my_cam1;二,三行是让_root["camovie"+i].my_video1显示my_cam1的画面信息;五行到最后:一旦激活changecam(),i做递加,如果i10则让i=1,关键是下一句了,知道用摄像头的人这时候要奇怪了,明明my_cam2不存在,干吗还让video连接他呢?其实就是要video释放my_cam1而已,暂时没找到释放的语法只好采用变通的办法!释放之后也很奇怪,画面不但没有消..
点击:531 发布日期:02/12
  新年将到,在这里先向大家拜个早年,祝大家在鸡年里,flash的水平节节高。 好,现在进入正题,大家先看一下效果。
  源文件下载(zip压缩文件,6K)。  另外大家可以看一看一个曾经很流行的成品游戏:《是男人就点一百下》  这个是简单的弹性效果的延伸。主体基本全是用as来实现的。下面讲解一下制作过程。  1. 在flash中新一个MC,在此MC上分别建三层来放圆,按钮,还有as命令。如图所示:  在此,as命令为:
stop();  2. 回到主场景,在第一帧上加入as命令。
_root.createEmptyMovieClip("ball", 69); //创建一个空的MC,命名为ball ball.lineStyle(60, 0xFFFFFF, 100); //设定ball的线条样式为60粗,白色,alpha为100 ball.lineTo(1, 0); //使用当前线条样式从当前绘画位置向 (x, y) 绘制线条 vars = new Array("x eed", "y eed", "leftedge", "rightedge", "bottomedge", "gravity", "friction", "bounce", "widthBall", "heightBall", "maxaffiche", "forceDri le", 6, 0, -30, (Stage.width)+(_root.ball._width/4), (Stage.height)+(_root.ball._width/4), 2.4, 0.982, 0.7, _root.ball._width/2, _root.ball._height/2, 10, 22); //建立数组 for (..
点击:309 发布日期:01/30
玩过泡泡堂的朋友一定对下面这个游戏不陌生: 点击浏览该文件
/Upload/2005-01/2004121822284215.swf
(游戏规则:敲敲键盘上的上下左右试试)不错,很多游戏都是应用了KEY对象来实现对舞台上MC的控制;
感兴趣的朋友,帮顶一下首先,新建文档550*400导入5张图片:这里我已经保存为PNG格式(透明)
1:CTRL+F8,新建一个影片剪辑2:按四下F7,创建四个空白关键贞,分别把小人按左下右上四个不同的方向放到每一个空白关键贞里,并且在贞标签添入关键字眼:"left""front""right""back"
其他操作相同~选中MC的第一贞,添加代码;
stop();
注意:四个小人在舞台的位置是重合的
3:我们回到主场景在图层一:CTRL+L打开库面板,,把刚才导入的背景图片拖入到舞台,并且对齐,接着,新建一个图层,把刚才做的MC拖入到场景中,并且在属性面板里命名:如图:
选中这个MC,我们进行脚本编辑:
onClipEvent(load){//影片加载时 _root.cuiyysw._x=200; _root.cuiyysw._y=300;//规定了MC的初始位置 } onClipEvent(enterFrame){//进入贞 if(Key.isDown(Key.RIGHT)){如果响应键盘事件“右键” _root.cuiyysw._x+=5;//MC在X轴的位置就加5个单位长度 this.gotoAnd..
点击:1106 发布日期:01/29
第一篇:Flash游戏开发系列一:游戏中的敌人
  上一次,我们已经学习了最基本的敌人跟踪方法,这次,我们来限制一下敌人。
  二、指定范围内的跟踪
  首先看看这个例子:
  现在的敌人周围有了一个范围,那么,只有当你进入这个范围的时候,敌人才会来追赶你。
  这就是有指定范围的跟踪敌人,它的原理是:
如果(玩家进入敌人范围){ 如果(玩家x坐标 敌人x坐标){ 调整敌人x坐标,趋近玩家x坐标 } 如果(玩家y坐标 敌人y坐标){ 调整敌人y坐标,趋近玩家y坐标 }}
  这个应该不难理解吧,我们可以理解为:敌人有一个视力范围,只要玩家进入这个范围,敌人就会进行追踪。这个的解决方法也不复杂,普通的算法是判断玩家和敌人的位置,如果两者之间距离达到或者小于一定的值,那么敌人就开始追踪。在 Flash 里面,我们更可以用简单的碰撞来实现,这样代码就更少了。
  我们可以在 enemy 里面放置一个圆形的范围,给一个实例名叫做 range,那么,enemy.range 就是敌人的视力范围了。
  这样,我们通过判断玩家是否和敌人的视力范围碰撞就可以实现这..
点击:584 发布日期:01/26
[翻译]一个完全使用AS2编制的飞机之制作详解作者:Steve译者:EmilMatthew翻译完成日:05/1/6译者注:马上要考英语四级了,考前翻篇东东来练练兵:)。作者自己的水平应该是很高的了,但从游戏的模式上而言,这个游戏并没有太多的创新,仍旧是无限循制,不过想法上已经相当完整了,有这样一个很好的开发习惯,想做大的东东,就不会无从下手了。作者写此文章的主要目的是在于介绍给大家如何真正用面向对象的AS2来写游戏,所以,从这个角度而言,这篇文章还是相当优秀的,尤其是在国内这方面资料比较馈乏的时候,这种文章可谓雪中送碳的佳举,我翻译一下,一方面是自己有提高,另一个方面,也算是给闪吧增点辉,给广大的FLASHER做点贡献吧~~~~(第一次翻国外的东东,所以有什么不地道的地方,敬请高手斧正,英文原文附在第三帖中了.对了,要是作者本人给你发邮件说想找EmilMatthew收中文版的版权费时,你们就说不认识我啊,呵呵~~~:))
这篇文档是我第一个用OOP(面向对象的编程)方法写的AS2游戏。这个一个标准的空间打击敌人的游戏,有三架敌机和一架游戏者的喷火镭射机。起初只会有一关,但是设计上可以使得增加关数的可能性变得非常方便。游戏中会有基本的分数以及生命值。..
点击:237 发布日期:01/26
reflector 碰撞平板
* component * * for mx 2k4 *监测和实现碰撞的平板组件。preview: 点击浏览该文件
/Upload/2004_Pack/20051655747427.swf
componet mxp &am sample source file(fla)
点击浏览该文件使用方法:将组件放入场景,通过as设置检测碰撞的对象,并需要用程序控制碰撞的监测。碰撞检测的结果通过事件来
处理。组件本身只提供了基本的监测功能,具体的需求需要利用事件处理编写更多的代码。
设置对象:
comp_i tance.addTarget(target_mc:MovieClip);
监测1次碰撞
:_global.refreshReflector();
使能:事件列表:
on(hit) on(collide) on(pa ed)
组件参数设置:
clipName: 用于显示视觉效果的元件连接名doubleSide: 是否检测来自两侧的碰撞
e: 弹性系数,当碰撞发生时,根据这个系数确定target_mc的运动。0则反弹,0则穿过。enabled: 使能f: 摩擦系数,当碰撞发生时,根据这个系数确定target_mc的运动。建议取值0f1。0表示平板表面粘性很大,会把target_mc粘住,1表示完全光滑。
xforce: 当碰撞时,附加给target_mc的力,沿平板切线。
yforce: '' '' ''.... 沿平板法向。
属性:clipI : 视觉效果的mc的引用
点击:525 发布日期:01/18
Flash Lite 1.1 使用三个按钮,以在互动式影片中进行导览:上、下 和选择。这些按钮对应桌面版 Flash Player 上的 Shift+Tab、Tab 和 Enter 键。 另外,还可使用 0、1、2、3、4、5、6、7、8、9、* 和 #。这些按键对应桌面版 Flash Player 上的相同按键。您可像平常在 Flash 中一样,附加 ActionScript 至这些按键和 Enter 键。附加至其他按键的 ActionScript 则会被忽略。
点击:1287 发布日期:11/07
点击浏览该文件①首先画地图 地图数组形式如下;第一关
map_array=[[1,1,6,1,1,1], [1,0,0,0,0,1], [1,2,0,0,0,7], [1,0,0,0,0,1], [1,1,0,3,0,1], [0,1,1,1,1,1]];
数字0代表空,数字1代表墙壁,数字2代表红色可移动的块,数字3代表蓝色可移动的块,数字6代表红色块移动的目的地,数字7代表蓝色块移动的目的地;用for循环访问数组中的数,然后对应的联接到库中的影片剪辑,这样地图就生成了
②点击色块后,该出现哪些移动箭头,这个也是根据数组中的数来判断的,比如红色块吧,2的上,下,左,都是0,即表示,上,下,左的移动箭头可见,这样判断就能实现控制哪个箭头显隐。
③点击移动箭头后的判断::这个也是根据数组中的数来判断的,还是拿红色块来说吧,当点击红块后,出现移动箭头, 当点击向左移动后,就一直判断2左边是不是0,是的话,就交换位子,直到2的左边是1(即碰到1)这样就实现了移动
④色块移到对应颜色框后的判断,是否数组中 6的下边是4,7的右边是3
if((map_array[0][2]-2)==4 and (7-3)==4){ gotoAndPlay(2) };
点击:2039 发布日期:11/07
, 点击浏览该文件
点击浏览该文件
Stage.scaleMode="noScale";var nx=25; //地图横向格数var ny=15; //地图纵向格数var mmap=new Array(ny); //地图的数组var vmap=new Array(4*ny*nx); //广度搜索的结点存储数组var fmap=new Array(ny); //搜索过的结点及障碍标志var parrow=new Array([1,0],[0,1],[-1,0],[0,-1]);//四个方向的行动参数var cp=0; //当前到达的路径结点的指针var finded=false; //搜索成功标志_root.createEmptyMovieClip("ma g",3); //创建背景地图mc_root.createEmptyMovieClip("pathshadow",4); //创建路径显示mcma g.useHandCursor;//=======================================画方块函数drawbox=function(obj,x,y,f){var drawx=x*20;var drawy=y*20;with(obj){lineStyle(1,0xcccccc,100);moveTo(drawx,drawy) eginFill(f,100);lineTo(drawx+20,drawy);lineTo(drawx+20,drawy+20);lineTo(drawx,drawy+20);lineTo(drawx,drawy);endFill();} }//=======================================在ma g中生成随机地图,并把数据存进mmapfor(a=0;aa++){mmap[a]=new Array(nx);fmap[a]=new Array(nx);for(b=0 lt x ++){if(a==0 &am am b==0){mmap..
点击:597 发布日期:11/07
从今天开始会给大家讲解FLASH游戏编程的问题(高手不要笑我),因为本人能力有限,所以也只能是抛砖引玉啦。言归正传。因为游戏环境并不象FLAS***一样可以预先作好关键帧,所以在处理“运动”这一问题时就要创造自己的运动规律,让场景内的物体按“规律”去自己运动。我们最熟悉,每天都会接触到的就是重力场了。对于FLASH编程中所涉及到的重力及重力加速度并不用按实际数值引用,你只要记得那是一个常量就行了。其实重力场是一个非常单纯的力场,他只涉及到一个垂直的力。重力加速度就是物体沿垂直方向运动的速度的增量。有了这些基本概念,就可以摸似出似真的重力场了。来看看AS方面——首先在场景中制作一个圆形,将它转化为MC,实例名取为“ball”,在第一帧上加入:
ymov = 0; gravity = 2; _root.onEnterFrame = function() { ymov += gravity; ball._y += ymov; if (ball._y400) { ball._y = 400; ymov *= -0.9; } };这里设定初速度为0,重力加速度为2,当球运动到400的位置时开始反弹。在理想状态下应该是获得一个相反的速度,即最后一句应该是ymov *= -1。但考虑到我们平时所见到的情况并不是球在毫无能量损失的状态下运动的。我们把它的速度减少了10%,以摸拟..
点击:485 发布日期:11/07
act中多块地板和跳跃的实现我们要实现的是 一个能够很方便的制作地图 的复杂地图,而且让主角能够自动的在地图上移动和跳跃。而且能够通过按键时间控制跳跃高度。如何开始呢?首先画一个矩形,按F8转换成MC(MovieClip电影剪辑)元件名叫判定。专门制作“判定”主要是为了处理方便,而且把画面和游戏内核分开。从库(F11)中拖放很多个判定MC到场景上,形成你要的场景,用自由变换工具(Q)把所有地板MC编辑成合适的大小。好了,我们的场景上高低起伏的地形做好了。选中所有的判定,F8变成一个新的MC,元件名随便比如叫第一关,F9打开属性页,左边有一个I tanceName或者实例名,取名叫做背景。这样 _root.背景 这个mc里面就有大量的判定MC,我们的地图判定就做好了。把他们都放在在 _root.背景 的好处是:1 可以用循环
for( var i in _root.背景 ){_root.背景[i]...........}这样访问所有地板(注意最好是正方形的MC,其他形状以后有时间再讨论),而不需要知道有多少块地板、它们在什么位置。2 如果需要背景移动,正如我以前说过的,只需要移动 _root.背景 这个MC,所有地板都会一起移动。好了,画一个MC,在上面添加下面的代码,就完成了大家先看看……如果有..
点击:1505 发布日期:10/13
相关介绍 学习组件制作,自建下雪组件简介:让选定的mc,模拟下雪的效果使用方法:选定Snowing组件,拖入需要下雪的帧即可,如要停止下雪,只需将该组件delete.下雪范围,起始点为组件所在点.参数说明:mc_linkage: "雪花"mc的linkage eed: 雪下落的速度counts: 雪的数量width: 范围宽度heigh: 范围高度注意: 下雪速度只于 eed参数有关,和帧频无关雪花不宜过多,一般保持默认就够了^^下载 :
点击浏览该文件扩展运用[全屏欣赏]
点击:682 发布日期:10/13
最近正在做这个游戏,果然想和做是不一样的,做了1个星期才只能控制我方走路,更不用谈其他,在做的过程中也遇到很多问题,就是边做边想,也没好好规划就开始做了。 希望大家给点意见。谢谢各位的支持,看到大家的留言,我很开心啊。
20040921_swf文件 点击浏览该文件 20040921_fla文件 点击浏览该文件
更新内容
修正了第6楼破冰发现的BUG.因为时间比较赶,所以只是增加了一些判断来修正这个BUG,可能达不到最优的效果。我的寻路算法是参考di .a ?boardid=10&am id=195589这里的。
遇到新的问题,有谁能帮忙想想
因为现在的寻路算法改变了,在上图中红色圈的格已经是走不到的,所以按了下去,Player也不会走去,而停止不动,等带用户按另一个可以走到的格子。但我不想这样,我想在生成移动范围的时候就能排除不能走到的格子。只显示能Player能走过去的格子,谁能告诉我相干的算法。PS:我游戏这里是,自己伙伴能走过,敌人不能,没障碍物的格子能走过,有的障碍物的不行。ox_thedarkne 我最新的slg库不晓得什么时候可以搞定。。忙啊。。所以展示一下目前阶段性..
点击:313 发布日期:10/13
oop 甚至不是一种确切的模式,而是很多种模式的的统称。 所有方法和模式都是为了解决软件危机而出生的。软件开发有很多问题:1 我们不停写类似的代码,而无法重用这些代码。有个著名的比喻:软件工程师每次设计汽车的时候,都必须重新发明轮子。回忆一下你开发过程中有多少次写下几乎一样的代码?比如我就写过不下20次几乎一抹一样按键检测的代码。但是你为什么不把这些代码改成函数或者库呢? 因为这些东西不好改。每次使用的时候,代码看起来类似,然而却总有少许不同... 这很恼人。2 我们的代码往往耦合度很高。同样有个著名的例子:一个程序有50个函数,他执行得非常好;然而一旦你修改其中一个函数,其他49个函数都需要做修改,这就是高耦合的后果。人们从程序出现以来就在试图上述问题。出现了一种又一种的思想,oop也是其中之一。oop的核心是解决代码重用问题。他通过生成高内聚低耦合的类来实现这一点。然而oop并不能保证这一切,oop提供了一些语法支持。你可以用oop的语法实现高内聚低耦合的类;但是怎么内聚、如何降低耦合,取决于你的智慧、经验和洞察力。这和过程式的设计模式是一样的。这里有一些核心思想:1 oop将数据和方法聚合到一起,形成类。你可以通过这个..
点击:5296 发布日期:10/13
连连看所要求的是:1:两个目标是相同的 2:两个目标之间连接线的折点不超过两个。(连接线由x轴和y轴的平行线组成) 那么分析一下连接的情况可以看到,一般分三种情况1:直线相连 2:一个折点 3:两个折点 如图: 可以发现,如果有折点,每个折点必定有且至少有一个坐标(x或者y)是和其中一个目标点是相同的,也就是说,折点必定在两个目标点所在的x方向或y方向的直线上。所以设计思路就是: 假设目标点 p1 , p2 ,如果有两个折点分别为z1 , z2 那么,所要进行的是 1:如果验证p1 , p2 直线连线,则连接成立 2:搜索以p1,p2的x,y方向四条直线(可能某两条直线会重合)上的有限点,每次取两点作为z1,z2 ,验证p1到z1/z1到z2/z2到p2 是否都能直线相连 ,是则连接成立。(如果z1=z2也就是只有一个折点喽,对判断没影响)那么程序算法上,这里先就理论进行一个试验
var mmap=new Array();mmap[0]=new Array(0,0,0,0,0,0);mmap[1]=new Array(0,1,2,8,1,0);mmap[2]=new Array(0,5,5,4,3,0);mmap[3]=new Array(0,4,6,7,3,0);mmap[4]=new Array(0,8,2,6,7,0);mmap[5]=new Array(0,0,0,0,0,0) 1=new Array(1,4) 2=new Array(1,2);//定义一个二维数组作为游戏的映像,相同的数字代表相..
点击:786 发布日期:10/13
参与本文讨论:闪吧本文讨论帖1 Flash的版本与兼容性1.1 FlashPlayer6 (FlashMX)和FlashPlayer7 (Flash MX2004)的普及率米噢~~ flash2004出现拉! 于是我赶紧的用……爽阿!!好多新特性,可是?“你的flash我怎么看不了啊?”会在论坛上看见这种回复,表明就连专业人士都不一定会跟进最新版本呢~~~辛辛苦苦做的flash大家都播放不了,岂不是很委屈?那么,传说中的flash2004的播放器,flashplayer7.0的普及率如何呢?请看Macromedia 官方报表:http://www.macromedia.com/software/player_ce us/flashplayer/version_penetration.htmlWorldwide Ubiquity of Macromedia Flash by Version - March 2004 (NPD Online - Worldwide Survey) _________ Flash 6* ___ Flash 7* US_______ 93.5%______ 52.5% Canada___ 95.1%______ 60.6% Europe___ 93.5%______ 59.9% Asia______ 88.1%______ 58.7%截至2004年3月,flashplayer7的普及率终于过半了~~~但是仍然有约40%的浏览用的是FlashPlayer6——对于他们而言,你精心准备的作品可能只是白板一张。 估计2004年暑假的时候 Asia地区就能超过80%的普及率了~~~目前还是输出6标准的文档比较合适。 1.2 建立通用的swf文件那么,能否建..
点击:1119 发布日期:08/29 偶然的机会需要使用TWebBrowser,在开发过程中涉及到一些比较不肤浅的东西,于是免不了搜资料,翻CSDN的帖子,终于把要做的东西作了出来,同时对于TWebBrowser也有了初步的了解。同时看到很多CSDN上的不少朋友也在TWebBrowser上存在很多疑问,于是把自己这段时间所得的拿出来与大家分享。还是那句话,本人水平很洼,说的不对的话敬请指出,不要客气,否则不但我自己学错了东西,也让看这篇文章的人误入歧途。废话少说正文开始。
首先我们要认识到TWebBrowser其实是Delphi对Internet Explorer Browser的封装,也就是说它是一个ActiveX控件,看过TWebBrowser代码的朋友会发现这个空间的所有方法的实现部分都调用了DefaultInterface的方法,而TWebBrowser的这个属性是一个IWebBrowser2接口类型的对象,这个接口就是IE的接口。我们在使用TWebBrowser代替IE浏览器的目的大部分是为了能够让程序处理页面,实现自动对WebA lication的请求,所以我们首先想得到的就是TWebBrowser所浏览的内容。TWebBrowser的Documnet属性正是这一内容,Document其实是一个IHTMLDocument2,但是它被声明为IDi atch接口类型,我们需要把它转化为IHTM..
点击:288 发布日期:08/29
新的开发环境为Delphi开发者简化了转向.NET框架的方式
2003 Borland开发者大会,圣乔治,加里弗里亚州 – 2003年11月3日:Borland软件公司(纳斯达克代码:BORL)今天宣布推出Borland Delphi 8 for the Microsoft .NET Framework。新版本的Delphi的设计目的是让Delphi开发者能够创建基于.NET框架的应用,并且可以移植现存的Win32 Delphi程序到.NET框架上。由于基于.NET框架的开发越来越多,这种从Win32到.NET的转移正变得越来越重要。根据行业分析公司Gartner集团的报告,到2004年中期,大多数主流组织都期望采取行动,把那些到2007年还需要使用的Win32应用与COM应用,移植到微软的.NET框架上。
“微软对于开发者的战略方向就是被托管代码—建造在今天的.NET框架上以及下一代Windows 'Longhorn'的WinFX上。”微软公司开发者与平台宣传部门的主管John Montgomery说。“自从Borland 1995年发布Delphi的第一个版本以来,Delphi开发者就一直是Windows开发者社群中的领先者。现在,随着Delphi8的面世,Borland清楚地描绘了Delphi开发未来的方向,同时让移植到被托管代码的工作也变得更加容易了。”
获得大奖的Delphi开发环境的最新版本提供了对于所有.NET框架类的支持。开发者

参考资料

 

随机推荐