Flash 将swf添加到画布

Flash 将swf添加到画布,flash,canvas,Flash,Canvas,我正在尝试将以下swf:添加到画布 <canvas style="position: relative; display: block; width: 100%;" width="565" height="656" src="http://assets.zwinky.com/assets3/stud/express/01/ex1.2.swf"></canvas> 我现在如何预览?我展示画布的唯一方法是: <object width="100" height="

我正在尝试将以下swf:添加到画布

<canvas style="position: relative; display: block; width: 100%;" width="565" height="656" src="http://assets.zwinky.com/assets3/stud/express/01/ex1.2.swf"></canvas>

我现在如何预览?我展示画布的唯一方法是:

<object width="100" height="100">
    <param name="movie" value="http://assets.zwinky.com/assets3/stud/express/01/ex1.2.swf">
    <embed src="http://assets.zwinky.com/assets3/stud/express/01/ex1.2.swf" width="100" height="100">
    </embed>
</object>


还有其他方法吗?

您可以使用原生html5画布来实现拍动翅膀的效果

零件

要围绕机翼根部旋转机翼,请执行以下操作:

  • context。将
    翻译到画布上希望机翼根部所在的位置<代码>翻译使画布原点[x=0,y=0]移动到翻译点
  • context.旋转
    至当前所需的机翼襟翼角度
  • context.drawImage
    绘制机翼图像。必须根据原始图像中机翼根部的位置绘制机翼偏移。此偏移将机翼根部拉到新转换的画布原点
要设置拍动动画,请执行以下操作:

requestAnimationFrame
提供了一个高效的动画循环,大约每1/60秒触发一次

在动画循环中:

  • 在当前
    flapAngle
  • 更改下一个动画循环的
    flapAngle
  • 通过动画请求另一个循环。requestAnimationFrame只调用一次函数,因此当当前动画循环完成时,必须再次调用
    requestAnimationFrame
    以请求下一个循环
这里是注释代码和演示:

//画布变量
var canvas=document.getElementById(“canvas”);
var ctx=canvas.getContext(“2d”);
var cw=画布宽度;
var ch=画布高度;
//翼车
var leftwing,righwing;//机翼画布图像
var lx=230;//左翼根的X
变量ly=117;//左翼根Y形
var rx=7;//右翼根X
变量ry=117;//右翼根Y
var wingPadding=40;//控制机翼之间的间距
//动画变量
var flapAngle=0;//控制当前襟翼角度
var flapIncrement=Math.PI/240;//控制动画速度
var flapDirection=1;//控制襟翼方向
var minFlapAngle=-Math.PI/8;//控制最大上翻板
var maxFlapAngle=Math.PI/30;//控制最大下襟翼
//加载机翼图像
var img=新图像();
img.onload=启动;
img.src=”https://dl.dropboxusercontent.com/u/139992952/stackoverflow/wings.png";
函数start(){
//制作左右帆布翅膀
makeWings();
//启动动画
请求动画帧(动画);
}
函数动画(时间){
//在当前拍打位置拍打机翼
flapWings(300150,flapAngle);
//更改下一个动画循环的flapAngle
flapAngle+=flapIncrement*flapDirection;

如果(flapAngle>maxplapangle | | flapAngle您可以使用原生html5画布来实现您的扑翼效果

零件

要围绕机翼根部旋转机翼,请执行以下操作:

  • context.translate
    到画布上希望翼根所在的点。
    translate
    使画布原点[x=0,y=0]移动到您的平移点
  • context.旋转
    至当前所需的机翼襟翼角度
  • context.drawImage
    绘制机翼图像。必须根据机翼根部在原始图像中的位置绘制机翼偏移量。此偏移量将机翼根部拉到新翻译的画布原点
要设置拍动动画,请执行以下操作:

requestAnimationFrame
提供了一个高效的动画循环,大约每1/60秒触发一次

在动画循环中:

  • 在当前
    flapAngle
  • 更改下一个动画循环的
    flapAngle
  • 通过动画请求另一个循环。requestAnimationFrame只调用一次函数,因此当当前动画循环完成时,必须再次调用
    requestAnimationFrame
    以请求下一个循环
这里是注释代码和演示:

//画布变量
var canvas=document.getElementById(“canvas”);
var ctx=canvas.getContext(“2d”);
var cw=画布宽度;
var ch=画布高度;
//翼车
var leftwing,rightwing;//机翼画布图像
var lx=230;//左机翼根部的X
var ly=117;//左机翼根部的Y
var rx=7;//右翼根的X
var ry=117;//右翼根的Y
var wingPadding=40;//控制机翼之间的间距
//动画变量
var flapAngle=0;//控制当前襟翼角度
var flapIncrement=Math.PI/240;//控制动画速度
var flapDirection=1;//控制襟翼方向
var minFlapAngle=-Math.PI/8;//控制最大翻转
var maxFlapAngle=Math.PI/30;//控制最大下翻
//加载机翼图像
var img=新图像();
img.onload=启动;
img.src=”https://dl.dropboxusercontent.com/u/139992952/stackoverflow/wings.png";
函数start(){
//制作左右帆布翅膀
makeWings();
//启动动画
请求动画帧(动画);
}
函数动画(时间){
//在当前拍打位置拍打机翼
flapWings(300150,flapAngle);
//更改下一个动画循环的flapAngle
flapAngle+=flapIncrement*flapDirection;
如果(flapAngle>maxFlapAngle | | flapAngle)