用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Flash应用开发>列表

flash游戏组件的创建、打包和运用全过程

[来源:闪客无忧 | 作者:AOL | 时间:2008-03-28 | 点击:  | 收藏本文  【 】]

声明:勿做商业用途!
昨晚看到闪吧翻译flashcompoment.net的创建组件的方法。 觉得还少了一点儿什么,想想,原来是这样。

1.大家做好了组件之后,只能在自己机子上用,可这样做,只有自已可以用到, 不能方便别人。 最好能打包成mxp的文件, 然后提供下载, 大家一起用嘛。

2.那个例子没有监听对象, 只能是三角形, 不太灵活。


首先说一下,这个组件是一个方向控制组件, 响应键盘的上,下,左,右方向键。可以使物体朝上,下, 左,右,左上, 右上, 左下,右下不同的八个方向运动.
看看这个吧。 这是注册了监听给甲虫对象的。
用ctrl+f8新建一个MC,并在此MC第一帧加上这些AS:

#initclip
// 构造MovementClass
MovementClass = function () {
};
// 注册MovementClass
Object.registerClass("Movement", MovementClass);
// 加一个监听方法
MovementClass.prototype.addListener = function(ref) {
//把所要加的对象传给listener
this.listener = ref;
if (this.listener<>undefined) {
// 检查是不是MC
if (this.listener instanceof MovieClip) {
// 嗯,可以了,使它的方法生效
this.enabled = true;
// 图标或者商标什么的全隐掉
this._visible = false;
} else {
// 告诉用户你的目标不是有效的,这个目标方法无效
trace("你引入的"+this.listener+"不是一个有效的物件");
this.enabled = false;
}
} else {
//告诉用户没有定义目标
trace("你的目标呢?");
this.enabled = false;
}
};
// 去掉监听
MovementClass.prototype.removeListener = function() {
delete this.listener;
};
// 发送动作
MovementClass.prototype.sendMovementEvent = function() {
this.listener.onMovement(this.listener._rotation, this.listener._x, this.listener._y);
};
MovementClass.prototype.onEnterFrame = function() {
if (this.enabled) {
//正方向运动
if (Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT)) {
this.listener._x -= this.speed;
this.listener._rotation = 270;
}
if (Key.isDown(Key.RIGHT) && !Key.isDown(Key.LEFT)) {
this.listener._x += this.speed;
this.listener._rotation = 90;
}
if (Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) {
this.listener._y -= this.speed;
this.listener._rotation = 0;
}
if (Key.isDown(Key.DOWN) && !Key.isDown(Key.UP)) {
this.listener._y += this.speed;
this.listener._rotation = 180;
}
//
// 斜方向的运动
if (Key.isDown(Key.LEFT) && Key.isDown(Key.UP) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.DOWN)) {
this.listener._rotation = 315;
}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.UP) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.DOWN)) {
this.listener._rotation = 45;
}
if (Key.isDown(Key.LEFT) && Key.isDown(Key.DOWN) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.UP)) {
this.listener._rotation = 225;
}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.DOWN) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.UP)) {
this.listener._rotation = 135;
}
this.sendMovementEvent();
}
};
#endinitclip

然后用ctrl+L调出库面板,用右键点击这个MC,选择linkage.
然后勾选如下。

20035241335207423

上一页12 3 下一页
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:俄罗斯方块(游戏制作)
下一篇:谈谈模拟足球游戏中人工智能
Tags:     运用 全过程 创建 游戏 组件 Key.isDown 一个 // if 这个
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·Rectangle对象在flash游戏开发中
·Flash的Socket和AMF3的研究心得
·Flash的Socket和AMF3来开发web游
·制作有视角的迷宫游戏+碰撞
·项目外包, 诚要天下FLASH有能之
·flash小游戏制作:月饼消消看
·Flash Player10功能SaveBitmap直
·面向对象法制作贪吃蛇小游戏
·flash里键盘控制人物行走的另个
·flash中图形位置的半像素渲染问
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flex 3 AdvancedDataGrid的使用(第二
·全Flash动画网站实现的基础教学
·flash水影效果字
·Flash打造简单的飘雪动画视觉特效
·FLASH+XML相册(附源码)
·超酷flash光晕移动效果
·Flash旋转拖尾文字效果的制作教程
·Flash制作大雪纷飞效果动画
·flash春雷闪电效果
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号