- 有效防止flash吸血鬼进行swf的提取
其实方法很简单,只要场景上不手动摆放任何显示内容,全部通过程序进行库调用或者外部调用,这样吸血鬼是提取不到swf的.
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- 随机切凹凸拼图效果(bitmapData)[附源码]
http://space.flash8.net/bbs/thread-337062-1-1.html
下午没事做,就弄了个随机切拼图效果,还没做判断,只是个切法的计算,稍后整理下就应该是个成品,嘿嘿~
原理主要就是用bitmap进行切图,以前都是用遮照做太占资源.
效果如下:
主要代码:puzzle.as
原理主要就是用bitmap进行切图,以前都是用遮照做太占资源.
效果如下:
主要代码:puzzle.as
CODE:
/*
* Puzzle CLASS
*
* @ CREATED BY: ycccc8202
* @ PURPOSE: 方便制作拼图游戏
* @ DATE:2007.6.10
* Usage example:
* var url:String = "http://pic.ent.tom.com/data2/upload/888/407/117984810018150686780.jpg";
* var puzzleuzzle = new Puzzle(this, url);
* 设置摆放位置
* puzzle.setPosition(30, 20);
* 设置行/列
* puzzle.setRowAndLine(30, 10);
*/
import com.ycccc.PuzzleGame.MovieClipDrag;
import mx.events.EventDispatcher;
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Matrix;
import flash.geom.Rectangle;
import flash.filters.BevelFilter;
class com.ycccc.PuzzleGame.Puzzle {
/**
* Private members
*/
//////////加载图片长宽///////////
private var _imageW:Number;
private var _imageH:Number;
//////////设置最大宽高///////////
private var _imageMaxW:Number = 800;
private var _imageMaxH:Number = 500;
////////////////////////////////<
* Puzzle CLASS
*
* @ CREATED BY: ycccc8202
* @ PURPOSE: 方便制作拼图游戏
* @ DATE:2007.6.10
* Usage example:
* var url:String = "http://pic.ent.tom.com/data2/upload/888/407/117984810018150686780.jpg";
* var puzzleuzzle = new Puzzle(this, url);
* 设置摆放位置
* puzzle.setPosition(30, 20);
* 设置行/列
* puzzle.setRowAndLine(30, 10);
*/
import com.ycccc.PuzzleGame.MovieClipDrag;
import mx.events.EventDispatcher;
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Matrix;
import flash.geom.Rectangle;
import flash.filters.BevelFilter;
class com.ycccc.PuzzleGame.Puzzle {
/**
* Private members
*/
//////////加载图片长宽///////////
private var _imageW:Number;
private var _imageH:Number;
//////////设置最大宽高///////////
private var _imageMaxW:Number = 800;
private var _imageMaxH:Number = 500;
////////////////////////////////<
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- 强制内存回收方法之二
//以前我们最熟悉的强制内存回收的方法是:
function GC():void{
try{
(new LocalConnection).connect("foo");
(new LocalConnection).connect("foo");}catch(e){
trace(System.totalMemory);
}
}
//由于上次试验弱引用的时候,发现当轮询本地sharedobject对象的时候,导致弱引用的内容进行了回收,于是联想用来进行强制内存回收..代码如下:
package {
/**
* @author CYPL
* @date 2009-04-01
*/
import flash.net.SharedObject;
import flash.system.System;
import flash.utils.clearInterval;
import flash.utils.setInterval;
public class GCPlus {
public static function clear(isTraceTM : Boolean = false) : void {
var time : int = 2;
v
function GC():void{
try{
(new LocalConnection).connect("foo");
(new LocalConnection).connect("foo");}catch(e){
trace(System.totalMemory);
}
}
//由于上次试验弱引用的时候,发现当轮询本地sharedobject对象的时候,导致弱引用的内容进行了回收,于是联想用来进行强制内存回收..代码如下:
package {
/**
* @author CYPL
* @date 2009-04-01
*/
import flash.net.SharedObject;
import flash.system.System;
import flash.utils.clearInterval;
import flash.utils.setInterval;
public class GCPlus {
public static function clear(isTraceTM : Boolean = false) : void {
var time : int = 2;
v
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- 最近也弄点AS3的加密玩
发现市面上的大多数AS加密采用的都是类似的方法,所以也跟风耍一把
了解的朋友应该是一眼就看出端倪啦~见笑
加密后的文件如下:
http://space.flash8.net/bbs/viewthread.php?tid=370332&extra=page%3D1
了解的朋友应该是一眼就看出端倪啦~见笑
加密后的文件如下:
http://space.flash8.net/bbs/viewthread.php?tid=370332&extra=page%3D1
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- 超高效计算组合(AS3)
比如:从"ABCDEFGHIJKLMNOPQ"中取3个字符所组成的组合的所有可能.
开始的时候用了个递归写,效率也很不错的,这下不用递归,速度又有显著提升,提高了50%.package CYPL.utils
{
/**
* CompositorX
* 超高效计算组合(个数太长了除外:)
* @author CYPL
*/
public class CompositorX
{
private var _str : String;
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- MVC模式练习::::::>窗口拖动缩放效果演示
主代码如下:
package {
/**
* @author : CYPL
* @date : 2008.4.30
*/
import flash.display.*;
import flash.events.*;
import flash.geom.Rectangle;
public class DisplayObjectTransform extends Sprite {
private var _displayisplayObject;
private var _zoomModel:ZoomModel;
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- AS3___一个抠图小程序实验
package {
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;
import flash.geom.*;
import flash.filters.*;
/**
* @author CYPL
* 设置图片元件实例名为Image
*/
public class CutImageTest extends Sprite {
priv
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- AS3的寻路演算
2.0的时候写过一个,速度很烂
这次改用3.0写,优化了一下,大家给帮忙测下寻路的时间是否OK?
我的普通单核塞扬1.8的CUP,内存1g,测试从左上角右下角的时间最大才20多毫秒...
//PS:可以点选右下角的按钮改变地图(假如开始就出现死路
)
这次改用3.0写,优化了一下,大家给帮忙测下寻路的时间是否OK?
我的普通单核塞扬1.8的CUP,内存1g,测试从左上角右下角的时间最大才20多毫秒...
//PS:可以点选右下角的按钮改变地图(假如开始就出现死路

我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- FLASH CS3的FLA形式组件制作教程
/*******
讲解:春叶飘零
时间:2007.10.9
*******/
/**********如要转载,请注明出处[闪吧-AS版]**********/
#############FLASH CS3中的FLA形式组件制作教程#############
下面给大家介绍下如何制作[*.fla]形态的组件(Component),
这种组件区别于SWC组件,和CS3自带的组件一样能够双击进入组件里面编辑.
//应该是CS3新增加的一种组件形态
以制作一个MyButton组件为例子.
分如下几个步骤:
1.首先创建一空白的ActionScript3.0的flash文档,然后保存文件命名为:"FLA_ComponentX".//名称可以任意
2.CTRL+F8,新建一空白剪辑,取名为"Avatar",进入编辑,第一真上我们画一矩形框(Stroke style我们选择"hairline",最细的线条),
不用填充,一定要记得设置坐标为(0,0),位置固定的.
3.CTRL+F8,继续新建个空白剪辑,取名为"NormalSkin",点开高级设置,把"导出ActionScript","导出到第一真"两项打勾,class中填入"NormalSkin",最后把
"启动9-scale缩放
讲解:春叶飘零
时间:2007.10.9
*******/
/**********如要转载,请注明出处[闪吧-AS版]**********/
#############FLASH CS3中的FLA形式组件制作教程#############
下面给大家介绍下如何制作[*.fla]形态的组件(Component),
这种组件区别于SWC组件,和CS3自带的组件一样能够双击进入组件里面编辑.
//应该是CS3新增加的一种组件形态
以制作一个MyButton组件为例子.
分如下几个步骤:
1.首先创建一空白的ActionScript3.0的flash文档,然后保存文件命名为:"FLA_ComponentX".//名称可以任意
2.CTRL+F8,新建一空白剪辑,取名为"Avatar",进入编辑,第一真上我们画一矩形框(Stroke style我们选择"hairline",最细的线条),
不用填充,一定要记得设置坐标为(0,0),位置固定的.
3.CTRL+F8,继续新建个空白剪辑,取名为"NormalSkin",点开高级设置,把"导出ActionScript","导出到第一真"两项打勾,class中填入"NormalSkin",最后把
"启动9-scale缩放
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- addEventListener注册事件进行传递参数的方法(AS3)
分享一下我写的这个类
CODE:
/**
* @author:ycccc8202
* @用途:注册事件进行传递参数的代理类
* @date:2007.8.26
* @example:
* import CYPL.utils.JEventDelegate
stage.addEventListener(MouseEvent.MOUSE_DOWN,J
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- 画饼图 BY AS3
CODE:
/**
* @class:DrawPieGraph(画饼状图)
* @author:ycccc8202
* @date:2007.8.16
* @example:
* import com.ycccc.Graphics.*;
* var dataList:Array=[10,10,10,100,10,10,10,100];
* var pie:DrawPieGraph=new DrawPieGraph(200,200,150,90,15,dataList,[0xFF0F00,0xFF6600,0xFF9E01,0xFCD202,0xF8FF01,0xB0DE09,0x04D215,0x0D8ECF]);
* addChild(sprite);
*/
package com.ycccc.Graphics{
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.Shape;
import flash.display.Graphics;
import flash.events.MouseEvent;
public class DrawPieGraph extends MovieClip {
//存放shape对象
private var __contain:Object;
//设置角度从-90开始
private var R:int=-90;
private var D:uint=30;
private var _shape:Shape;
//初始饼图的圆心位置
private var _x0:Number;
private var _y0:Number;
//椭圆饼图的长轴与短轴长度
private var _a:Number;
private var _b:Number;
//饼图的厚度
pri
* @class:DrawPieGraph(画饼状图)
* @author:ycccc8202
* @date:2007.8.16
* @example:
* import com.ycccc.Graphics.*;
* var dataList:Array=[10,10,10,100,10,10,10,100];
* var pie:DrawPieGraph=new DrawPieGraph(200,200,150,90,15,dataList,[0xFF0F00,0xFF6600,0xFF9E01,0xFCD202,0xF8FF01,0xB0DE09,0x04D215,0x0D8ECF]);
* addChild(sprite);
*/
package com.ycccc.Graphics{
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.Shape;
import flash.display.Graphics;
import flash.events.MouseEvent;
public class DrawPieGraph extends MovieClip {
//存放shape对象
private var __contain:Object;
//设置角度从-90开始
private var R:int=-90;
private var D:uint=30;
private var _shape:Shape;
//初始饼图的圆心位置
private var _x0:Number;
private var _y0:Number;
//椭圆饼图的长轴与短轴长度
private var _a:Number;
private var _b:Number;
//饼图的厚度
pri
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- AS3中类似watch的功能(附类文件)
AS2 中我们能够直接用watch对一些对象属性的更改进行监测,但是一些实例原有的方法却无法监测,比如mc._x没法用watch来监测
AS3 中提供了Proxy代理类,这样我们能够对对象的原有属性以及自定义属性进行类似AS2中watch的监测.
AS3 中提供了Proxy代理类,这样我们能够对对象的原有属性以及自定义属性进行类似AS2中watch的监测.
CODE:
/**
*
* @class:WO(.watch)
* @author:ycccc8202
* @date:2007.8.2
* @example:
* import com.ycccc.utils.WO;
* var mc:MovieClip=new MovieClip();
* var __mc:WO=new WO(mc);
* var arg:String="1234";
* __mc.watch("x",watchFunc);
* function watchFunc(p,o,n,a) {
* trace(arguments);
* return n;
* }
* __mc.x=99;
* __mc.x=100;
* __mc.watch("y",watchFunc,arg);
* __mc.y=101;
* __mc.y=102;
*
**/
package com.ycccc.utils{
import flash.utils.Proxy;
import flash.utils.flash_proxy;
public dynamic class WO extends Proxy {;
private var _obj:*;
private var _watchHashTable:Object;
/**Constructor WO
*
* @param obj:* 对象
*
**/
public function WO(obj:*) {
_watchHashTable={};
_obj=obj;
}
/**Public function watch
*
* @param prop:String 属性
* @param callBackFunc:Function 回调函数
* @param arg:*=null 可选参数
*
**/
p
*
* @class:WO(.watch)
* @author:ycccc8202
* @date:2007.8.2
* @example:
* import com.ycccc.utils.WO;
* var mc:MovieClip=new MovieClip();
* var __mc:WO=new WO(mc);
* var arg:String="1234";
* __mc.watch("x",watchFunc);
* function watchFunc(p,o,n,a) {
* trace(arguments);
* return n;
* }
* __mc.x=99;
* __mc.x=100;
* __mc.watch("y",watchFunc,arg);
* __mc.y=101;
* __mc.y=102;
*
**/
package com.ycccc.utils{
import flash.utils.Proxy;
import flash.utils.flash_proxy;
public dynamic class WO extends Proxy {;
private var _obj:*;
private var _watchHashTable:Object;
/**Constructor WO
*
* @param obj:* 对象
*
**/
public function WO(obj:*) {
_watchHashTable={};
_obj=obj;
}
/**Public function watch
*
* @param prop:String 属性
* @param callBackFunc:Function 回调函数
* @param arg:*=null 可选参数
*
**/
p