水果连连看手机游戏设计与实现

2024-06-29

水果连连看手机游戏设计与实现(共6篇)

1.水果连连看手机游戏设计与实现 篇一

核心提示:flash教程,连连看小游戏地图数据简单生成的AS代码,

比如连连看的数据生成。

比较简单,这里不包括判断是否一定有解的部分,只是一个随意生成地图(给定行,列,每种图片的生成个数),没有思路的可以参考一下,高手也可以指正。

//生成地图的类

package src.ww.llk.map

{

import mx.collections.ArrayCollection;

public class MakeMap

{

private var mapParam:MapParam = null;

private var types:ArrayCollection = null;

//保证取得的数据不被重取

private var flags:ArrayCollection = null;

public function MakeMap(param:MapParam):void {

mapParam = param;

initData;

}

// 初始化必要的数据

private function initData():void {

types = new ArrayCollection();

var typeNum:int = Math.floor(mapParam.cols*mapParam.rows/mapParam.numberPerType);

for(var i:int=1;i<=typeNum;i++) {

for (var j:int=0;j

types.addItem(i);

}

}

var yushu:int = mapParam.cols*mapParam.rows - typeNum*mapParam.numberPerType;

for (var yI:int = 0; yI

types.addItem(1);

}

}

//随机生成地图

public function make():Array {

flags = new ArrayCollection();

for(var i:int=0;i

flags.addItem(i);

}

var mapData:Array = new Array();

var rowData:Array = null;

var col:int = 0;

rowData = new Array();

rowData.push(0);

for(col = 0;col

rowData.push(0);

}

rowData.push(0);

mapData.push(rowData);

for(var row:int = 0;row

rowData = new Array();

rowData.push(0);

for(col = 0;col

rowData.push(getType());

}

rowData.push(0);

mapData.push(rowData);

}

rowData = new Array();

rowData.push(0);

for(col = 0;col

rowData.push(0);

}

rowData.push(0);

mapData.push(rowData);

return mapData;

}

// 随机取得单个数据

private function getType():int {

var ran:int=-1;

var ret:int = 0;

ran = randomIndex();

var index:int = int(flags.getItemAt(ran));

flags.removeItemAt(ran);

ret = int(types.getItemAt(index));

return ret;

}

private function randomIndex():int {

return Math.random() * (flags.length - 1);

}

}

}

参数类,就是一个bean,

package src.ww.llk.map

{

public class MapParam

{

public var rows:Number=0;

public var cols:Number=0;

public var numberPerType:int=4;

}

}

测试类:

public function test():void {

var param:MapParam = new MapParam();

param.rows = 6;

param.cols = 6;

param.numberPerType = 4;

var maker:MakeMap = new MakeMap(param);

var map:Array = maker.make();

for each(var rowData:Array in map) {

var rowStr:String = “”;

for each(var cell:int in rowData) {

rowStr += cell + “ ”;

}

trace(rowStr);

}

}

运行结果:

0 0 0 0 0 0 0 0

0 3 3 1 1 7 6 0

0 6 8 9 7 9 5 0

0 2 4 4 4 1 7 0

0 5 8 4 9 5 8 0

0 2 6 2 3 1 7 0

0 6 2 5 3 8 9 0

0 0 0 0 0 0 0 0

2.水果连连看手机游戏设计与实现 篇二

手机游戏被称为继短信之后的又一座“金矿”。2006年, 手机游戏成为超过无线音乐和娱乐内容服务的最大应用。随着4G的普及、手机性能的提高, 手机游戏开发必然经历一个黄金发展时期。

Android手机开发平台被称为“第一个真正开放的手机开发平台”, 学会Android平台的应用对于手机应用程序的开发有非常重要的意义。

不管哪个游戏网站, 连连看游戏总是排在受玩家欢迎排名的前列。其规则简单, 容易上手, 休闲、趣味、益智是它玩不厌的原因, 且老少咸宜, 是一款适合大众的经典网络休闲游戏, 所以将它移植到Android手机平台上很有意义。

2 游戏策划

2.1 游戏规则

连连看是台湾的陈一进、简诚志先生根据“四川省”改编、发明的一种桌面游戏。游戏只要将相同的两张牌用三条以内的直线连在一起就可以消除这两张牌, 这三条以内的直线都不能经过非空闲区 (有牌的方块) 。所有的牌在规定的时间内全部消除完毕则取胜, 如果在规定的时间内没有消完则失败。

2.2 交互设计

2.2.1 触屏交互

本游戏将用户的界面分成10×10的小矩形触摸区, 每个小矩形区都放一张牌, 当用户点击任意一个小矩形区时, 这个矩形区的牌将被选中。用户接着点击和刚才选中的牌相同色的牌, 此时程序会判断这两张牌是否满足游戏的可消除规则。如果满足则这两张牌被消除, 如果不满足则第一次所选中的牌无效, 第二次选中的牌作为当前所选中的第一张牌, 用户接着再选第二张牌。以此类推, 直到所有的牌消除完毕或时间用完为止。详细的触屏区如图1所示。

2.2.2 菜单交互

本游戏的菜单交互方式分为三个菜单项, 分别为重新开始、重排列、退出。详细功能如表1所示, 在界面上的位置如图2所示。

2.3 素材选择

Android平台支持的图片格式有PNG、JPG和GIF。由于手机的屏幕大小有限, 所以采用圆形的按钮图片作为牌, 游戏的效果非常好。圆形按钮图片的格式采用JPG, 大小为82×76 (像素) 。

3 界面设计

3.1 布局文件设计

Android的应用程序都是采用MVC模式设计。M是指模型, 表示数据处理规则。模型与数据格式无关, 这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用, 所以可以减少代码的重复性。C是指控制器, 它接受用户的输入并调用模型和视图去满足用户的需求。V是视图, 用户看到并与之交互的界面, 它们包括Adobe Flash和像XML等一些标识语言和Web services。MVC一个大的好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生, 作为视图来讲, 它只是作为一种输出数据并允许用户操纵的方式。

Android的用户界面当然也是由视图来呈现的, Android中提供了许多标准的控件类。要在Android中设计界面必须使用布局文件和Activity类。其中布局文件是用XML语言来表示的。布局文件中可以使用Android提供的标准控件类和View类, 通过这两种类来画界面。所有关于操作处理的方法也就是MVC中的M和C必须在Activity类中实现。其实如果我们熟悉VB编程就很好理解了, VB中的Form窗体就相当于Android中的布局文件和Activity类的组合。

本游戏的界面就两部分内容, 一个是进度条, 另一个是自定义的游戏视图类。

由上面的知识可知, 必须先设计布局文件。我们在布局文件里用XML画出这两部分内容。详细代码如图3所示。

图3中的<Linear Layout xmlns:android…></Linear Layout>这段代码的意思是界面采用线性布局。<Progress Bar…/>这段代码我们定义了一个进度条。<com.ene Android.Com Game.Draw Game View…/>这段是我们自己定义的视图类, 用来在页面上画游戏界面, 这样布局文件就设计好了。

3.2 视图类的设计

视图类中需要画出游戏的背景图, 包括游戏界面中的方格、每张牌的图案、牌被选中时的矩形框、两个牌的连接线。

视图类中画界面的方法是on Draw (Canvas canvas) 。这个方法提供了一个画布, 可供我们在上面画图。

3.2.1 背景图画法

定义一个笔类的实例对象为background, 设置这支笔的颜色, 然后调用画布的画矩形方法画出背景图, 这个矩形背景的大小是整个视图的大小, 这样背景就画好了。

3.2.2 界面中方格的画法

将界面分成10×10的小矩形区。需要知道整个视图的大小, 这个可以通过on Size Changed (int w, int h, int oldw, int oldh) 方法来获得, 其中这个方法的参数w和h分别代表视图的宽度和高度。用w/Row、h/Col得出的结果就是每个小矩形区的宽度和高度。这样再利用一个9次循环函数就可以画出这些方格。

3.2.3 界面中牌的画法

Android中资源都是放在res目录中的, 牌的图片放在res/drawable目录中。要用这些资源必须通过一个叫R.java的文件, 这是系统给我们维护的一个文件, 任何时候都没必要自己去修改它。资源文件下的每个对象在这个文件中都有一个索引地址指向对应的资源。在Activity或View类中要用到资源时就是通过这个文件来取得的。

用到的图片素材是16个, 有效图片区是64个, 所以每个牌都会重复出现4次。可以为对应的16个素材定义一个包含16个元素的整型数组。每个数组的元素存储R.java中为每个牌的图案分配的地址, 这样就把素材中的图片地址存放在数组中了。

接下来需要定义一个可以存储16张位图的数组, 它与上面的16个存储图片地址的数组一一对应。这次就需要定义一个10×10的整型数组, 用来存储每个格子的图片地址, 如果没有对应图片就存储为0。这样就可以调用画位图的方法依据10×10这个数组的内容在界面上画出牌。数组中元素为0的项说明没有对应牌。

3.2.4 选中的牌所在矩形区的画法

可以调用画矩形方法来画这个矩形, 矩形的位置由触屏事件的处理函数提供。

3.2.5 两张牌连接线的画法

可以在游戏规则处理函数中获得两张牌可连接起来的路径上的关键点的坐标, 然后调用画直线方法把这些点连起来即可。

4 结语

目前, Android平台游戏的开发正在如火如荼进行中, 开发一款优秀的游戏离不开界面的设计, 本文所介绍的内容为Android游戏界面设计的入门知识, 详细介绍了界面设计的流程, 希望能为有志从事Android游戏开发的人士提供些许帮助。

参考文献

3.贪吃蛇游戏的设计思路与实现 篇三

自从人类进入了21世纪, 信息化得到了很大的发展, 而作为信息化时代明星产品的电脑, 则在人们工作娱乐的生活中, 做出了不朽的贡献。本论文探讨的就在这场贡献中担任了主角的PC游戏。

一款好的游戏一定具有创意, 创意是游戏的灵魂。本游戏综合了坦克大战和贪吃蛇这两款传统经典游戏的优点, 并设计出一些具有创意的游戏方式, 如:蛇与蛇之间互相攻击、吞吃。在此基础上又引进了大家所熟悉的”终结者”穿越剧情和独特的任务系统和关卡设计, 环环相扣的剧情任务可以让玩家融入其中。

系统总体设计

在本游戏中, 电脑蛇的移动通过随机方向来实现, 在第一次移动前系统会自动生成一个随机方向, 接着再生成一个相应方向上的随机移动距离, 电脑蛇在之后的一段时间便会向此方向移动, 直到把随机距离消耗完毕。如果在此期间前方遇到障碍物无法移动, 那么随机距离立刻清零, 生成新的移动方向和距离。攻击方面, 在坦克大战中敌人是可以随机发射子弹的, 但在本游戏中由于子弹需要消耗蛇的身体节点, 所以只有当玩家蛇的任意节点位于电脑蛇移动方向的直线上, 电脑蛇才会发动攻击。

本游戏为子弹添加了较为复杂的属性和行为以增加游戏的趣味性。首先, 由于子弹会消耗身体节点 (吃了弹夹道具除外) , 蛇不能在节点少于3的情况下发射子弹。其次, 子弹分为不同等级, 随着等级越高, 速度会越快, 威力会越大。最后, 子弹具有衰变行为, 当一个等级为3的子弹击中防御力1的障碍物后, 该子弹会衰变为等级2并继续向前飞行。

本游戏最大的特色之一便是创造了蛇与蛇互相吞吃的新型攻击方式。当一方的蛇头接触到敌人的身体节点时, 被接触者的身体将会从此处断开消失, 接触者身体会增加一个节点。当双方的蛇头相碰时, 系统会进行判断哪一方的等级更高, 如果等级相等那么不会发生攻击行为。如果一方的等级高于另一方, 那么将会对对方进行整个吞吃, 对方的身体将完全化为自身节点。蛇互相吞吃行为流程如下图所示:

核心算法设计和系统实现

本程序的核心技术在于算法和线程并行安全问题:

1.电脑蛇随机移动判定算法。

2.电脑蛇发射子弹判定算法。

3.蛇吞蛇的动画效果实现算法。

电脑蛇随机移动判定算法如下所示:

这里为电脑蛇生成随机步数和随机方向, 如果在此方向上成功移动, 那么步数递减, 当递减为零时, 重新生成新的方向和步数, 当遇到阻碍时, 立刻将步数清零, 重新生成, 以增加电脑蛇的活动能力。另外生成向下方向的几率略大于其他方向, 促使电脑蛇想玩家蛇方向移动。

电脑蛇发射子弹判定算法如下所示:

这里子弹会消耗身体, 所以不能随意发射, 此算法用来判断是否应当发射子弹, 当电脑蛇的移动方向那条直线上存在玩家蛇的身体部位时, 电脑蛇将发射子弹, 为了此刻防止电脑蛇因为发射子弹而一直停止移动, 重新为它生成方向, 以增加发射子弹的随机性。另外, 当电脑蛇朝向玩家老家时, 有一定几率发射子弹。

蛇吞蛇的动画效果实现算法如下所示:

通过长度对比决定吞吃方, 接着进入吞吃状态, 这种情况下双方都失去控制权, 由舞台进行控制, 这种状态下每次定时器的调用或线程的执行, 都会使吞方获得被吞方一节身体, 被吞方损失一节身体。当判断出被吞方身体完全消失时, 吞吃状态结束。从而实现流畅的吞吃动画效果。游戏进行中界面如下图所示:

结束语

4.超宽频手机内置天线的设计与实现 篇四

关键词:手机内置天线,超宽频,G型天线

近年来随着无线通讯产品技术上的进步,个人化的无线通讯产品可说是相当的普及,为了达到美观的目的,使得手机的小型化成为移动终端设计的必由选择,而其中天线的设计必然需要顺应该形势,所以缩小天线整体面积或是体积是未来必然的趋势,为了有良好的收发讯号品质,手机天线多半采用全方向性辐射场型的线性极化天线,如单极天线(monopole),平面倒F型天线(PIFA)等,上述天线特点都具有近似全方向性的辐射场型,并具有结构简单,易与基板整合,制作成本低廉等特点,上述天线的缺点是带宽窄,目前市面上的手机多频段单极天线或PIFA天线多为带宽不能满足设计需要而烦恼,本文介绍的手机天线采用新型高介电常数材料作为天线支架,达到天线体积的缩小的目的,并且设计出新颖的双G型天线模型使天线可以覆盖的通讯频段达到CDMA800, GSM900, DCS1700, PCS1900至WCDMA2100,天线设计过程中使用的软件为CSTMicrowave Studio。

1天线设计及结构尺寸

图1 为本文所提出的天线3D展开后平面几何结构图,天线长3 8 m m, 宽3.5m m, 高4m m。

图2 为手机基板(PCB)顶部的结构图,所采用的印刷平面基板长度为100mm和宽度为40mm的FR4玻纤板,介电常数εr为4.9,厚度为0.5mm,去地的面积为6x40mm2;50欧姆馈线宽度为1.97m m,天线支架的长度为40m m,宽度为3.5m m,高为4m m,天线支架用的是介电常数εr为7的特殊树脂材料,损耗正切Loss tange nt<0.001,这种材料很适合作为天线的支架,材料来自日本东京的研发机构,

2 天线设计及软件仿真优化

在CST中经过多次仿真得知:1)改变S1和S2这两个参数都会使低频部分的谐振发生改变(见图4和图5),且变化规律为:当缝隙S1增大时,低频部分的两个谐振耦合的越好,但是低频带宽逐渐减小;当缝隙S2增大时,低频的带宽相对增大,可以与S1的调节进行匹配从而得到满足要求的低频,2)改变Gs对低频部分的影响很大,通过软件仿真可以看出Gs增大可以优化低频的驻波。

经过多次仿真, 天线的驻波可以达到设计的需要:CDMA800, GSM900, DCS1700, PCS1900至WCDMA2100 5个频段-6dB带宽, 同时进行实验调试, 使用安捷伦的网络分析仪8753E测试天线S11 (图7, 图8) , 实物S11图形跟CST仿真结果基本一致, 然后把实物天线放入ETS7x7x4mm2的暗室里测试天线远场辐射图和天线效率, 图9为测试天线实物模型, 天线的辐射方向基本处于全向辐射, 适合用于手持终端移动设备 (图10) 。

3 结论

本文所设计的这种超宽频高介电天线,经过Pulse苏州ETS暗室认证测试,得到良好的结果,结论该天线具有良好的辐射性能,而且体积小,结构新颖,具有非常高的市场应用价值,其原理跟市场上流行的HTCC陶瓷天线有异曲同工之妙。

参考文献

[1]Mobile Antenna Systems Handbook, 2nd ed., K.Fujimoto and J.R.James, Eds., Artech House, Norwood, MA, 2007.

5.水果连连看手机游戏设计与实现 篇五

关键词:Cocos2d-x,手机游戏,碰撞检测,功能

Cocos2d-x中的大量封装函数更是能大大增加工作效率。 在Cocos2d-x游戏引擎下,只需要简单的写一条代码,就包含了精灵的移动和移动用的时间。

随着现代社会的日益发展,人们的生活节奏越来越快, 生活压力越来越大、代际冲突也日趋激烈的今天,人们需要找到一个缓解情绪的途径,手机游戏营造的虚空间恰恰满足了这种需求。

1设计目标

1.1游戏形式

一款在不合常理的外星中穿行,跳跃、加速前进下落、 减速前进下落的跑酷类游戏,游戏中有激动人心的无尽头的动作,简约而不简单。

1.2游戏机制

(1)继承了酷跑所吸引玩家的计分制无结局,修改了原先画面的元素杂乱和考验手、眼。(2)不仅需要用到手、眼, 更需要用“脑”。(3)需要思考是我们这个游戏的一个特色。 (4)采用一个外星场景,让游戏的内容可以跨越定向思维。

1.3游戏元素

(1)游戏采用多种颜色踏板踩踏后起跳出现不同的效果。 (2)吃到物品改变行进状态,下落过程中采用打开类似降落伞的物品来减缓下落速度(3)吃到类似金币物体的总和与跳跃总距离的混合计分制。

2游戏中的碰撞检测技术

一般情况下,碰撞检测只会发生在游戏中的对象的位置发生了变化之后。对移动之后进行碰撞检测的场合,程序中一般情况下通过一定流程来应用碰撞检测。见图1。

在本游戏中采取的碰撞检测:

(1)避开了不必要的碰撞,如金币与金币之间的碰撞。 由于人眼在0.03秒左右刷新一次画面,所以碰撞检测函数必须在每0.03秒内调用一次,采用在有效碰撞后改变一个bool值,使得对象不进行重复碰撞。减少了内存消耗和CPU占用时间,较大程度上提高了游戏的流畅性。

(2)对碰撞检测来说,精度和速度就好比算法设计中的空间复杂度和时间复杂度,二者很难两全。由于人眼在0.03秒左右刷新一次画面,所以碰撞检测函数必须在每0.03秒内调用一次,但也不能太小,会影响游戏流畅性。

(3)要考虑到现实中的物理现象,碰撞后的结果要让人感觉真实、自然。所以在游戏中采用了不同的碰撞检测来检测不同的对象之间的碰撞。主角和踏板之间采用了点和面的碰撞,这样就不会出现主角浮在空中的尬尴情况,见图2。

左边代码:

floor ->get Bounding Box().intersects Rect(_Player->bounding Box())

//采用角色矩形与物体矩形碰撞

右边代码:

_Player->set Anchor Point(ccp(0.5, 0));

// 先设置角色锚点为图片中下方的点

floor->get Bounding Box().contains Point(_Player- >get Position())

// 采用角色点与物体矩形碰撞

3游戏功能描述

该游戏情景较为简单,也没有复杂的剧情,但是有良好的操作环境并能给玩家带来震撼刺激感。

3.1游戏主要功能

3.1.1界面显示

整个游戏的界面包括游戏界面和辅助界面。其中游戏界面是游戏的主体界面;辅助界面包括菜单界面、游戏说明界面、游戏暂停界面(包括继续游戏和退出游戏功能)、游戏结束界面。

3.1.2角色设计

本游戏的角色包括游戏主角、NPC、道具、金币等。游戏主角是玩家控制的一直跳动角色,玩家通过加速、减速按钮控制其移动速度。游戏中的NPC指一直追逐玩家的怪物, 在玩家减速期间会缩短与玩家的距离。玩家可以通过对速度的控制吃到各种道具来辅助获得高分, 吃到不同的道具产生的效果也不同。在玩家被怪物追到或者掉入深渊后游戏结束。

3.1.3音效设计

为了增加玩家游戏体验舒适感,需要根据游戏具体场景添加适当音效,包括背景音效、踩踏板的音效、吃到金币的音效、吃到道具的音效、被怪物抓到的音效以及掉入深渊的音效。

3.1.4地图设计

选好背景图片,通过代码实现背景图的动态向后移动效果,使得主角在背景参照下有真实的移动效果。

3.2游戏的主要流程设计

进入游戏后,玩家首先看到的是菜单界面。菜单界面上有4个按钮分别是进入游戏、游戏说明、音频设置和退出游戏。 玩家可先查看游戏说明,游戏说明界面上有详细的游戏内容介绍,包含图形和文字,能很直观地了解游戏的玩法。退出游戏说明界面回到菜单界面后,选择开始游戏将以一个华丽的界面切换效果切换到游戏准备界面,点击开始后进行游戏。 玩家在游戏中落入深渊或者被怪物吃掉则游戏结束。游戏总流程图见图3。

4总结与展望

6.水果连连看手机游戏设计与实现 篇六

随着信息时代的到来, 手机已成为人们不可或缺的通讯设备。手机短信作为一种使用方便、廉价的通信手段赢得了广大手机用户的钟爱。同时, 短信应用的范围也逐渐由用户间一对一的单向交流向企业、银行、证券、交通、教育等应用领域扩展, 成为企事业单位不可或缺的内部办公、客户服务和主动营销工具。许多企事业单位在考虑建立自己的短信应用平台, 希望通过简单的操作实现短信群发, 内容可以包括:会议通知, 工资明细, 广告宣传, 温馨提示, 短信留言等等。

本文介绍的手机信息通信系统使用Excel VBA进行开发, 利用网页数据抓取技术并借助飞信平台实现用户与手机对象之间的短信通信.用户只需在操作系统中安装Microsoft Office并与互联网连接, 即可实现手机短信即时或定时、定量地向特定的用户群发。

1 系统需求分析

需求分析

1) 使用Excel工作表制作通讯录, 记录客户的各项基本信息, 如:所属关系, 姓名, 固定电话, 传真号码, 移动手机号码, 信息内容等等;

2) 发送信息, 包括发送飞信信息和普通短信两种。飞信信息仅面向飞信好友, 免费发送, 而普通短信面向所有移动手机用户, 信息按移动通信业务标准以0.1元/条发送;

3) 操作员可根据通讯录选择号码实现飞信信息和普通短信的群发;

4) 操作员可在信息操作面板中实现批量添加飞信好友;

5) 系统可以通过预设时间定时发送信息, 并记录信息的发送状态和信息内容。

系统用例图

系统设计与实现, 系统主要功能界面

短信群发是本系统中最重要的功能, 在图2所示的操作面板中操作员通过输入飞信注册的手机账号和密码, 自己的称呼, 选择接收对象, 在视图列表中勾选发送的用户对象并在信息内容文本框内编辑信息, 可选择性的添加“日常问候”或“插入脚注”, 根据需要勾选是否“定时发送”, 点击“发送飞信”或“发送短信”即可。

系统关键技术:

1) 使用Firebug抓取分析JS生成的页面数据

Firebug是Firefox下的一款开发类插件, 它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体, 是开发Java Script、CSS、HTML和Ajax的得力助手。Firebug可以从各个不同的角度剖析Web页面内部的细节信息。

由于web飞信平台使用.NET技术开发, 同时使用了AJAX技术, 实现异步Http请求对网页的加载, 使Web页面不用打断交互流程进行重新加裁, 就可以动态地更新。这样不仅隐藏了页面间信息参数传递的细节, 甚至可以将信息处理页面的相关信息也隐藏起来, 平台自身的安全性得以提高, 同时也为我们系统开发带来了障碍, 借助Firebug, 我们就可以在控制台里看到每一个XMLHttp Requests请求post出去的参数、URL, http头以及回馈的内容, 甚至可以查看到每一个变量的内容, 给我们的信息分析和处理提供了极大的便利和支持。

下面以web飞信平台中添加飞信好友为例, 用Firebug获取到的信息如下:

这样我们就获得了当前页面提交的各项参数、参考值以及下一个处理页面的地址信息, 为我们下一步编写程序提供了重要依据。

2) 使用Xml Http获取网页内容

Xml Http是一套可以在Javascript、Vb Script脚本语言中通过http协议传送或接收XML及其他数据的一套API。客户端通过Xml Http对象 (MSXML2.XMLHTTP.3.0) 向http服务器发送请求并使用微软XML文档对象模型Microsoft®XML Document Object Model (DOM) 处理回应。该对象完全集成了Microsoft XML Core Services (MSXML) , 支持直接发送请求, 并用MSXML DOM分析响应。由于集成了对Extensible Stylesheet Language (XSL) 的支持, MLHTT对象组件提供一个很简易的途径向HTTP服务器发送一个结构化查询, 并支持用多种形式有效显示结果。通常的使用顺序是, 先用open方法, 再用send方法发送请求, 然后用set Request Header方法设置自定义头信息, 最后查看四种以不同形式返回的响应结果。现在几乎所有的浏览器都增加了对Xml Http的支持, IE中使用Active XObject方式创建Xml Http对象, 其他浏览器如:Firefox、Opera等通过window.XMLHttp Request来创建Xml Http对象。

系统主要功能实现程序:

短信发送是本系统最重要的功能, 包括发送飞信信息和普通短信两种。在程序实现上两者并没有太大的差异, 下面以通用性更强的发送普通短信功能为例, 其部分核心程序代码如下:

1) 【信息操作面板】中发送短信按钮执行程序

2) VBA类模块中【VBAFetion】类的主要执行程序

2 结论

本系统使用Excel VBA借助飞信平台发送信息, 功能实用却是一把双刃剑。一方面, 一键群发, 一键定时发送, 简单易用, 可扩展性强, 飞信信息免费发, 普通短信0.1元/条, 成本低, 非常适用于短信通知、短信广告、短信提醒等需要和大批量用户进行联系的业务。另一方面, 信息群发用之过度会造成各种垃圾广告信息的泛滥, 给用户造成不必要的麻烦和骚扰, 用之不当会造成各种造谣诈骗信息满天飞, 给用户造成恐慌甚至经济损失。

参考文献

[1]Excel Home.别怕, Excel VBA其实很简单.人民邮电出版社.

[2]伍远高.Excel VBA开发技术大全.清华大学出版社.

上一篇:浅析校园文化墙下一篇:乡镇推进办2021年工作总结