日历
| |||||||||
| 日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
| 1 | 2 | ||||||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 | |||
| 10 | 11 | 12 | 13 | 14 | 15 | 16 | |||
| 17 | 18 | 19 | 20 | 21 | 22 | 23 | |||
| 24 | 25 | 26 | 27 | 28 | 29 | 30 | |||
| 31 | |||||||||
存档
搜索标题
统计信息
- 访问量: 227
- 日志数: 6
- flash数: 1
- 建立时间: 2007-03-27
- 更新时间: 2007-04-03
我的最新日志
-
Javascript 自定义类
2007-4-03
Javascrīpt 自定义类
function Class1(str)
{
this.name = str;
}
var a = new Class1("Hello World");
alert(a.name); -
使用javascript的方法监听键盘事件
2007-4-03
使用javascrīpt的方法监听键盘事件
使用javascrīpt的方法监听键盘事件
1、注册监听函数
addEventListener(type,eventProcessFunctionName,bubble)
参数说明:
type 事件的名称 click keypress等等。监听键盘事件可使用 “keypress”做参数。
eventProcessFunctionName,要注册的事件处理函数的名称
bubble 布尔类型 如果为true,则指定的事件处理程序将在事件传播的捕捉阶段用于捕捉事件。
false则事件处理程序就是常规的
2、在事件处理函数中对Event进行处理
在事件处理函数中使用Event的keyCode, which属性获得键盘键的键值
示例代码:
testEvent.html
<html>
<scrīpt>function init()
{
//alert("init begin");
//document.getElementById("mybody").addEventListener("onkeydown",dispatchEvent,false);
document.addEventListener("keypress",dispatchEvent,false);
//click,keypress is the validate event type.
//alert("init end");}
function dispatchEvent(e)
{var code;
if (!e) var e = window.event;
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
if(code==13)
{return;}
var character = String.fromCharCode(code);
alert('Character was ' + character);
}
</scrīpt>
<body id="mybody" ōnload="registerEvent();">
<div>test event.</div>
</body>
</html> -
Class结构教程
2007-4-03
Class结构教程
希望新手能够学会掌握了基本的技巧再来翻阅这篇教程就自然容易理解.... 至于什么是private, public, protected等这些基本的说明还是请你们看看基础的书籍教程或网络上的说明吧, 主题也写明了是"结构"上的教程
1. 最基本的Class定义方面我不多说了, 就举个例子直接开始:
class Flash8 {
private var user:String; //定义变量
private var pass:String;
private var age:Number;
public function Flash8(x:String, y:String) { //class的结构函数
user = x;
pass = y;
trace("用户名 = "+user+", 密码 = "+pass);
}
public function setAge(x:Number):Void { //class中的定义函数
age = x;
}
public function getAge() {
trace(user+" is "+age+" years old.");
}
}--------------- 在 Flash 的代码 ------------
var a = new Flash8("Super-Tomato", "123456");
a.setAge(24);
a.getAge(); //得到的输出结果是:
//用户名 = Super-Tomato, 密码 = 123456
//Super-Tomato is 24 years old.2. 再来是Inheritance继承并且使用Overriding, 引用之前的Flash8类,作为SuperClass
class Flash8 {private var user:String; //定义变量
private var pass:String;
private var age:Number;
public function Flash8(x:String, y:String) { //class的结构函数
user = x;
pass = y;
trace("用户名 = "+user+", 密码 = "+pass);
}
public function setAge(x:Number):Void { //class中的定义函数
age = x;
}
public function getAge() {
trace(user+" is "+age+" years old.");
}
}-------------- Board1类 -------------------
--------------- 在Flash的代码 --------------class Board1 extends Flash8 { //继承都必定要使用extends来指定所继承的SuperClass
public function Board1() {
trace("这个是继承类SubClass, SuperClass还是会被执行");
}
public function getAge() {
trace("这里使用了Overriding");
}
}
var a = new Board1();
a.getAge(); //输出的结果为 :
//用户名 = undefined, 密码 = undefined
//这个是继承类SubClass, SuperClass还是会被执行
//这里使用了Overwritten从这里可以知道, Flash8类还是有本执行.....当中的继承之间都同时出现了getAge()函数, 到底要用哪个getAge()才是对的呢??
答案是Board1的getAge(), 原因是因为他已经derived(继承)了Flash8, 也就是说Flash8的getAge()被Override(可以说被取代)了 AOL之前也有写过这样的例子: http://www.flash8.net/teach.aspx?id=1435 http://www.flash8.net/teach.aspx?id=599
3. Polymorphism (多形) 其实Polymorphism和Inheritance一样是被override, 但polymorphism则是多个继承, 接下来的例子当中我会使用到super和调用SuperClass的方法:
class Flash8 {
private var user:String;
private var pass:String;
private var age:Number;
private var str:String;
public function Flash8(x:String, y:String) {
user = x;
pass = y;
trace("用户名 = "+user+", 密码 = "+pass);
}
public function setAge(x:Number):Void {
age = x;
}
public function getAge() {
str = user+" is "+age+" years old.";
return str;
}
}
----------- Board1 类 -------------------
class Board1 extends Flash8 {
public function Board1(a:String, b:String) {
super(a, b);
}
public function getString() {
str = "In Board1 "+getAge();
trace(str);
}
}----------- Board2 类 -------------------
class Board2 extends Flash8 {
private var str:String;
public function Board2(a:String, b:String) {
super(a, b);
}
public function getString() {
str = "In Board2 "+getAge();
trace(str);
}
}----------- 在 Flash 的代码 -------------------
var a = new Board1("Super-Tomato", "123456");
a.setAge(24);
a.getString();
var b = new Board2("Tomato", "12345");
b.setAge(24);
b.getString();
//输出结果为 :
//用户名 = Super-Tomato, 密码 = 123456
//In Board1 Super-Tomato is 24 years old.
//用户名 = Tomato, 密码 = 12345
//In Board2 Tomato is 24 years old.4. Implementing 以上方法大致上会使用的方法都说完了, 而Implementing方面的例子, AS区版主holybozo在之前已经使用过了, 所以也有例子可以参考..我在这里就不多说了
但在JAVA当中还有一个叫Overloading的方法, 但在AS2.0的class中暂时无法使用....什么是Overloading呢?? 这里也举个例子吧
class SuperClass {
private var Name:String;
private var Price:Number;
public function setItem(a:String) {
Name = a;
}
public function setItem(a:String, b:Number) {
Name = a;
Price = b;
}
}看到了吗?? 当中有两个函数名字是一样的... 主要只是在于参数不同而决定使用的函数
好啦.... Class的用法我已经粗略的介绍过了, 当然你们还是需要去看看详细的说明和更多的例子以掌握好Class的应用...这样不只对Flash有帮助, 而且还可以跳出Flash的编程范围转向其他语言的结合 -
Apollo alpha
2007-4-03
Flash开发者新希望 Apollo alpha 放出
前天刚放出使用手册,今天就放出下载了进入下载页面
Apollo SDK
Download for Macintosh and Windows (ZIP, 18 MB)
Apollo Runtime
Download for Macintosh (DMG, 8 MB)
Download for Windows (EXE, 6 MB)
Documentations and Samples
Download Apollo Documentation (ZIP, 31 MB)
Sample Applications
Experience sample applications created for the Apollo runtime alpha. You will need to have the Apollo runtime installed to run the samples.
Apollo Extension for Adobe Flex Builder 2.0.1
Download for Macintosh (DMG, 23 MB)
Download for Windows (EXE, 40 MB)
-
Apache和IIS可以做Flex Server 了
2007-4-03
Apache和IIS可以做Flex Server 了
labs上提供了Flex运行Apache和IIS相应的模块,现在除了Tomcat和Jrun,Apache和IIS也可以做为Flex Server了.安装之后Apache或者IIS就可以能够编译mxml和actionscrīpt.能够通过Web访问,实时编译mxml页面,使用Flex应用程序了.不用再多开一个Jrun了.
进入下载页
-
鼠标滚轮在FLASH 7中的应用
2007-4-03
鼠标滚轮在FLASH 7中的应用[中级] 鼠标滚轮在FLASH 7中的应用
从FLASH7开始,在WINDOWS平台就开始支持鼠标滚轮,这个教程中,我们将控索两个特性,一个是onMouseWheel侦听器,另一个是TextField. MouseWheelEnabled属性,针对第一个特性的两个例子,分别研究鼠标滚轮横向和纵向控制MC的应用,另一个例子我们研究enable和disable,文本域的MouseWheelEnabled属性。
鼠标滚轮在FLASH 7中的应用
演示文件1
这里展示的是_y轴的滚动,你可将它改为_x方向的滚动。
演示文件2
鼠标滚轮在FLASH 7中的应用
从FLASH7开始,在WINDOWS平台就开始支持鼠标滚轮,这个教程中,我们将控索两个特性,一个是onMouseWheel侦听器,另一个是TextField. MouseWheelEnabled属性,针对第一个特性的两个例子,分别研究鼠标滚轮横向和纵向控制MC的应用,另一个例子我们研究enable和disable,文本域的MouseWheelEnabled属性。
一,onMouseWheel侦听器
Mouse.onMouseWheel对象是一个侦听器,也就是说当用户在滚动鼠标时就会被Mouse.onMouseWheel侦听到,这种行为可以使FLASH创作者自定义mouseWheel的事件行为。在下面的FLASH影片例子中,我们用MouseWheel按制一个叫mcForMouseWheel的影片剪辑的水平移动。最做到这点。我们要先创建一个侦听对象MouseListener,来定义MouseWheel的函数。并使用addMouseListener来注册侦听器,如果你不是很清楚事件侦听器,请在FLASH的帮助中搜索“使用事件侦听器”,因为FLASH V2 COMPONENT组件都要使用到侦听器事件。
注意,你必须将你焦点定在你的影片中,也就是要在你的影片点击一下,另外必须保证你用的FLASH播放器是最高版本,除此之处,onMouseWheel在opera浏览器上不支持。
首先控制水平方向的移动
1. 打开FLASH,新建一文档,在第一帧上输入代码。
2. 代码如下:
代码: //创建侦听对象
mouseListener=new object();
//创建onMouseWheel函数
mouseListener.onMouseWheel=function(delta){
//myMouse_mc是影片剪辑的实例名
myMouse_mc._x=delta;
}
Mouse.addListener(mouseListener);
OK,就这么简单。
代码: //也许你还试一下以下的代码:
mcscroll=new object();
mcscroll.onMouseWheel=function(mc_x_scroll){
myMouse_mc._x+=mc_x_scroll;
}
Mouse.addListener(mcscroll);
同样如果按控制y轴的移动。那么就这样。
代码: mouseListener=new object();
//创建onMouseWheel函数
mouseListener.onMouseWheel=function(delta){
myMouse_mc._y=delta;
}
Mouse.addListener(mouseListener);
请试用下面的代码式
代码: mcscroll=new object();
mcscroll.onMouseWheel=function(par){
myMouse_mc._y+=par;
}
Mouse.addListener(mcscroll);
观看演示1
接下来我们来看一下控制文本的方法
The mouseWheelEnabled Property
MouseWheelEnabled属性找开或关闭鼠标的滚动功能. TextField.mouseWheelEnabled是一个布尔类型,用来决定是否当鼠标滚动时,滚动文本.
下面是代码:
代码:
//buttonForMouseWheel是按钮的实例名
buttonForMouseWheel.onRelease = function () {
//设定mouseWheelEnabled的布尔值,真的就变假,假的就变真:)
txtWheel.mouseWheelEnabled = !txtWheel.mouseWheelEnabled;
//?问号的用法可以查看帮助当左边为表达式为真时,将"禁止滚动"附给this.label.
this.label = ((txtWheel.mouseWheelEnabled) ? "禁止滚动" : "允许滚动") ;
}
// 加入文本
txtWheel.text = “Mouse.onMouseWheel对象是一个侦听器,也就是说当用户在滚动鼠标时就会被Mouse.onMouseWheel侦听到,这种行为可以使FLASH创作者自定义mouseWheel的事件行为。在下面的FLASH影片例子中,我们用MouseWheel按制一个叫mcForMouseWheel的影片剪辑的水平移动。最做到这点。我们要先创建一个侦听对象MouseListener,来定义MouseWheel的函数。并使用addMouseListener来注册侦听器,如果你不是很清楚事件侦听器,请在FLASH的帮助中搜索“使用事件侦听器”,因为FLASH V2 COMPONENT组件都要使用到侦听器事件。”观看演示2
看起来真是简单,但有些东西是要动手去做的.从中会得到一些东西.
