-------------------后台代码---------------------------
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
int id = Convert.ToInt32(Request.Params["id"]);
string url1="";
if (id > 0)
{
ZqServer zq = ZqServerManager.Getflash_historyByID(Convert.ToInt32(id));
if (zq != null)
......
Flash 嵌入的问题论坛中有人问了好多次,到底应该怎么用,为什么通不过验证,要通过验证怎么办等等等。
讨论中也出现了不少的误解,所以我单开一个帖总结一下我所知道的东西,不想看我罗嗦的直接跳到最后看结论就可以了。
一、传统的方法
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/
swflash.cab#version=7,0,0,0"
width="550" height="400" id="Untitled-1" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="mymovie.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="mymovie.swf" quality="high" bgcolor="#ffffff" width="550"
height="400" name="mymovie" align="middle" allowScriptAccess="sameDomain"
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
这方法是使用 object 和 ......
现在是晚上的7点,对着电脑,依旧的代码,看了一些编程,有很多很有趣的事情。把今天记录的事情记录一下,看了一些绘图API的做法,真的有点变得疯狂了。今天对flash数组的删除发现有点意思,原本以为采用splice 删除数组一个数字可以弄出个办法来,结果发现删除多个指定位置数就遇到一些问题,可能还没有发现更好的方法,删除任意位置,任意个数的值。
问题:怎样删除数组里面指定的多个数?
例如:var array:Array=[1,2,3,4,5];
现在要删除第二个数2,下标为1,则array.splice(1,1); // trace(array)1,3,4,5;
删除一个,现在我们进行删除指定的多个数。例如删除2,3,4 这三个数,我们这里有一种做法,不一定很完善,但是依然可行
先把要删除的数 设置一个标记如0。array=[1,0,0,0,5];这样制作。
然后通过搜索判断,重新重组一个数组。
array=getNewArray(array,0);
这样也许能够返回一个新的数组了,不知道你有没有更好的办法,不妨告诉我。 可能正则表达式也可以,但是对那个依旧不熟悉。
//获取新的数组,用于过滤数组的内容
public function getNewArray(myarray:Array,value:*):Array
{
var Temp:Array=new Array();
......
现在有个灵感,那就是通过鼠标拖动这些小球,鼠标移动的时候,那些小球会跟踪鼠标目标移动。这些只要使用flash 绘图API制作,
就能够完成;
第一步:随机创造一些小球
private function creatBall():void
{
for (var i:int=0; i<10; i++)
{
var ball:Ball=new Ball();
addChild(ball);
list.push(ball);
ball.x=Math.random()*550;
ball.y=Math.random()*400;
}
}
第二步:
进行对鼠标监听,针对鼠标的 按下,和松开状态进行监听,并加以EnterFrame事件,每一帧进行刷新操作
private function init():void
{
stage.addEventListener(MouseEvent.MOUSE_DOWN,MouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP,MouseUp);
stage.addEventListener(Event.ENTER_FRAME,Run);
}
第三步:
对小球进行绘制直线,这一步我们主要使用moveTo 和LineTo的方式就行,其他的也可以使用flash cs4的drawpath
关键的地方就是确立好每一个小球的位置。
//绘制线条
private function drawLine(x1,y1):void
{
graphics.clear();
graphics.lineStyle(1,0xff0000);
for (var i:int=0; i< ......
鼠标按下的时候,生成200个粒子,粒子向不同的方向移动,从而产生一种像仙女散花的感觉。
下面是散开的效果,同样你可以为你的效果添加很多元素,包括引力,重力,摩擦力等等情况,但这部分就靠自己,还是需要自己想法出来
简单的做法,代码很少,涉及到运动的方向做法。效果看起来让我觉得惊讶,不过换来代价是卡卡卡,当我尝试换成1000个粒子的时候
则会产生很多问题,是由于生成的对象太多了,内存占用率很高,你可以测试一下。生成效果很不错。
基本思路:鼠标按下--》生成一定数量的粒子,粒子按随机的方向行走,行走一定的时候,就需要立刻对其删除,否则会产生内存问题。
看看下面的代码,做法很简单。只是觉得有一种不错的想法,暂时先把他记录下来。
粒子随机轨迹角度,则需要通过Math.atan2 进行计算,在flash里面这个方法可以为运动学创造带来很多方便。有兴趣的可以去测试一下。
package
{
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.events.*;
public class Main extends MovieClip
{
//private var list:Array=new Array();//管理粒子
//private var speed:int=5;
private var contain: ......
文件如下
<BODY>
<SCRIPT src="swfobject.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javascript>
var flashvars = {};
flashvars.myxmlpath = 'content.xml';
flashvars.type = 'content';
flashvars.decription = '0';
flashvars.textstyle = '';
flashvars.descordinate = '';
flashvars.startItem = '4';
flashvars.flowFadeSpace = '500';
flashvars.flowAnimationTweenType = 'Regular';
flashvars.flowAnimationSpeed = '5';
flashvars.slideShowTime = '1000';
flashvars.slideShow = '1';
flashvars.slideShowLoop = '1';
flashvars.imagePadding = '130';
flashvars.angle = '45';
flashvars.vertical = '0.2';
flashvars.iwidth = '';
flashvars.iheight = '';
flashvars.listheight = '200';
flashvars.alpha = '40';
flashvars.clipAlpha = '100';
flashvars.distance = '2';
flashvars.matrixRatio = '255';
flashvars.matrixDropOff = '3';
var params = {};
params.menu = 'true';
params.width = '958';
params.height = '300';
params.src = 'flo ......
文件如下
<BODY>
<SCRIPT src="swfobject.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javascript>
var flashvars = {};
flashvars.myxmlpath = 'content.xml';
flashvars.type = 'content';
flashvars.decription = '0';
flashvars.textstyle = '';
flashvars.descordinate = '';
flashvars.startItem = '4';
flashvars.flowFadeSpace = '500';
flashvars.flowAnimationTweenType = 'Regular';
flashvars.flowAnimationSpeed = '5';
flashvars.slideShowTime = '1000';
flashvars.slideShow = '1';
flashvars.slideShowLoop = '1';
flashvars.imagePadding = '130';
flashvars.angle = '45';
flashvars.vertical = '0.2';
flashvars.iwidth = '';
flashvars.iheight = '';
flashvars.listheight = '200';
flashvars.alpha = '40';
flashvars.clipAlpha = '100';
flashvars.distance = '2';
flashvars.matrixRatio = '255';
flashvars.matrixDropOff = '3';
var params = {};
params.menu = 'true';
params.width = '958';
params.height = '300';
params.src = 'flo ......