Flex下载文件的处理方法

发表于3年前(Dec 24, 2014 9:04:52 AM)  阅读 297  评论 0

分类: Flex

标签: FileReference FZip 批量下载

项目中常常需要对用户提供下载的需求,在java web工程中,通常可以通过servlet来方便的实现,但是在flex中前台实现下载还是有些麻烦。Flex提供了FileReference类,FileReference类里提供了download和upload方法,一看就知道是用来下载跟上传的,我们来仔细看download方法的参数,(request:URLRequest, defaultFileName:String&n

......

AIR窗口菜单工具类(增加助记键的支持)

发表于3年前(Dec 24, 2014 9:01:10 AM)  阅读 367  评论 0

分类: Flex

标签: 助记键 菜单工具

之前做扫雷游戏时,写过一个菜单工具类,参见扫雷(一):窗口菜单的制作 ,那个菜单工具类,可以支持多层级,支持快捷键,支持分隔符,但是不支持助记键,助记键是一般应用程序窗口菜单,使用ALT+F可以快速展开文件菜单项,这可以说是一个基本功能,AIR窗体也是支持的,所以我完善了一下菜单工具类

俄罗斯方块游戏开发(四)–方块消除

发表于3年前(Dec 23, 2014 7:29:59 PM)  阅读 477  评论 0

分类: Flex 俄罗斯方块

标签: tetris 俄罗斯方块 消行

这节讲方块消除。首先我们建立一个Ground类,用着障碍物类,Ground类里面有个12*20的数组_cells,代表游戏面板可填充的所有方块,用_topCell变量来代表当前最顶上的一个障碍物,如果_topCell为0,则表示已经到顶,则游戏结束。

方块在移动前,将判断下方是否有障碍,或者是否左右出界。如果下方有障碍物,则触发Ground类的accept方法,开始进行消行判断,至此整个游戏就可以运行了。

最终游戏源码: /upload/2014/11/23/TETRIS1.04.zip

游戏安装程序:

......

俄罗斯方块游戏开发(三)–方块变形与移动

发表于3年前(Dec 23, 2014 7:27:14 PM)  阅读 441  评论 0

分类: Flex 俄罗斯方块

标签: tetris 俄罗斯方块 方块变形 方块移动 监听键盘事件

经过上一节,已经可以使方块自动下落,这节我们给他加入键盘事件,来实现控制方块变形与移动。

首先我们加上键盘事件监听,要考虑的是键盘事件监听加到哪个对象上面,GamePanel?不,如果加在GamePanel上,只有焦点在GamePanel上时才有用,我们应该加在整个应用上,只要焦点在应用上,就能控制方块,所以我们应该加在TETRIS上面。然后我们应该监听KeyboardEvent.KEY_DOWN事件还是KEY_UP事件呢?如果是KEY_UP事件,只有键盘释放时才会移动,这样的话,如果我们按住方向键不动的话,方块将不会移动,所以我们应该监听KEY_DOWN事件。

俄罗斯方块游戏开发(二)–方块的显示与定时下落

发表于3年前(Dec 23, 2014 7:08:32 PM)  阅读 599  评论 0

分类: Flex 俄罗斯方块

标签: tetris 俄罗斯方块 定时下落

这节我们主要讲如何让方块在游戏区域显示以及定时下落。首先我们知道,标准tetris一共有7种方块,每种方块最多有四种形态,有的只有一种如正方形块,有的只有两种如竖条横条,当然我们可以把他们也看做有四种形态,只是有些形态样式相同而已,这个影响不大。参考传智播客的视频方法,方块横向竖向最大宽度为4个格子,我们可以用一个4*4的方阵来表示每个方块以及他们的状态,如下面的方阵,转化为程序,我们可以用一个二维数组来表示,红色的部分值为1,白色部分值为0,画图时,我们只对1的部分画单元格,模型大概就是这样。

 

俄罗斯方块游戏开发(一)–游戏面板布局

发表于3年前(Dec 23, 2014 6:56:10 PM)  阅读 547  评论 0

分类: Flex 俄罗斯方块

标签: tetris 俄罗斯方块 布局 游戏面板

从今天起,我将使用AIR制作一个经典的游戏–俄罗斯方块。这个游戏不仅很多玩家喜欢玩,也有很多程序员都喜欢用这个做学习项目。刚学习AIR的时候,我就想过做这个游戏,基于难易程序,我先写了五子棋跟扫雷,五子棋的话,由于电脑AI算法现在不是我所能研究的,所以只做了玩家对战,玩家对战一般也只能用于局域网对战,实用性不强,所以没放上来。之前扫雷游戏算是完整完成了,虽然写的博客有点虎头蛇尾,实在是写作水平有限,望大家谅解。这次写扫雷程序,我会尽量写详细点,写完一点我会把每节的代码都会单独上传,希望能对大家有用。申明一点,写这个游戏前我初略看了一下传智播客的关于这个游戏的视频教程,那个是基于java GUI的,虽然语言不同,但思路是共通的,我想我很多设计会参考他,大家也可以参看那个视频。

Flex修改浏览器标题栏以及状态栏

发表于3年前(Dec 23, 2014 4:58:51 PM)  阅读 256  评论 0

分类: Flex

标签: index.template.html 中文乱码 状态栏 标题栏

  众所周知Flex Web应用都是最后编译成swf文件,嵌入到html网页中的,有时候我们需要Flex跟html交互,当然这个不是我们本文讨论的重点。

  Flex提供了改变浏览器标题的方法:BrowserManager.getInstance().setTitle(yourTitle);但是没有提供改变状态栏的方法。我们可以通过Flex调用html的js方法来改变状态栏的属性。Flex Web应用编译出来的html文件是以html-template文件夹中的index.template.html为模板的,所以我们可以在index.template.html里面加入js方法来改变状态栏的属性:
window.defaultStatus=”可点击顶部菜单栏–帮助–图例说明中查看线路图例说明”;
但是你会发现在index.template.html加入上面的代码,编译后生成的html会是乱码,我试过很多种方法也修正不过来,网上找了很多资料,发现也有类似问题,但都没有解决结果。后来我偶然发现,如果把上面的代码独立出来,单独放到一个js文

......

AIR游戏扫雷(二):核心算法

发表于3年前(Dec 23, 2014 4:35:48 PM)  阅读 505  评论 0

分类: Flex 扫雷

标签: 扫雷 算法

简单介绍下扫雷游戏,扫雷游戏获胜方法是找出雷区中所有的雷,雷区中的数字标示他周围的8个格子中雷的个数(数字最大为8)。扫雷中核心算法主要是布雷算法。如何布雷呢?首先用一个二维数组标示雷区上的格子,数组初始值为0,然后开始进行布雷。布雷时,产生一个随机数,随机数根据一定算法来代替雷区上的一个格子,这个格子的值赋为9,然后旁边8个格子的值都增加1。一般来说为了避免雷过于集中,数字最大为6,且5、6出现的概率较小。

扫雷时,如果点中数字为9的格子,标示踩中雷,游戏结束。为0的格子则迭代周围8个格子,将相连的为0的格子为玩家点开。点中其余数字,则直接显示数字。

大概算法就是这样,具体实现见以后程序。

AIR游戏扫雷(一):窗口菜单的制作

发表于3年前(Dec 23, 2014 4:32:46 PM)  阅读 634  评论 0

分类: Flex 扫雷

标签: 扫雷 窗口菜单

今天开始进行扫雷游戏的制作。

今天第一课先先讲下窗口菜单的制作。上个C-DRAWS课题中的菜单栏使用的不是标准的air里面的菜单栏,是我从flex web项目中直接移植过来的,整体效果基本一致,而今天的菜单通用性就不那么好了,只能在air应用中使用。

我已经将菜单制作封装成了MenuUtil.as类,只要提供菜单的xml文件,就能方便的生成窗口菜单。