请选择 进入手机版 | 继续访问电脑版
程序更新官方微博演示站点
2012年1月18日-2012年2月18日论坛调整:只开启邀请注册,23:30-7:30不能发帖,其他暂时不变。由此带来的不便,敬请谅解!!

[PJBlog^3]用户聚居地 - ASP开源中文个人博客系统PJBlog

 找回密码
 立即加入PJHOME

QQ登录

只需一步,快速开始

PJHOME小黑板报 你的关注和支持,是PJBlog不断成长的动力 给论坛提建议 - 给版主提建议

PJBlog3 使用交流 最新版本:PJBlog3 V3.2.9.518(2011/11/01) 安装 - 升级 - 转换 - 模板 - 插件 - 反馈

论坛指南 - 版主申请 - 链接申请 - 博客展示 - 有偿定制 PJBBS恭祝龙年新春快乐 - PJHOME2011改版,全新起航 PR≥3,alexa≤15万,与我们互链 - 风云互联 - 商务合作

查看: 10950|回复: 19

如何在顶部加个FLASH 如何定义自动缩放皮肤flash 如何在flash上显示图层★详解★ [复制链接]

PJHome荣誉版主

风格区版主

Rank: 40Rank: 40Rank: 40Rank: 40

PJ币
3290 元
积分
2489
帖子
711
注册时间
2006-6-30
在线时间
772 小时

PJBLOG SKIN设计师 - 第二届PJBLOG2 SKIN设计大赛入围前十名颁发

发表于 2008-2-17 20:35:34 |显示全部楼层
请打开pjblog 默认皮肤固定宽度皮肤defaultFlash文件夹,我以这个皮肤举例教你怎么添加皮肤上的flash

第一步:上传皮肤flash
把顶部flash文件head.swf放到皮肤文件夹里,例如pjblog默认皮肤defaultFlash 放到这个文件夹里

第二步:加载皮肤flash
找到skin.xml
<?xml version="1.0" encoding="UTF-8"?>
<SkinSet>
<SkinName>默认皮肤 - Flash导航条风格</SkinName>
<SkinDesigner>PuterJam</SkinDesigner>
<pubDate>2004-11-6</pubDate>
<DesignerURL>http://puterjam.vipx.net</DesignerURL>
<DesignerMail>puterjam@etang.com</DesignerMail>
<Flash>
  <UseFlash>-1</UseFlash>
  <FlashPath>head.swf</FlashPath>
  <FlashWidth>748</FlashWidth>
  <FlashHeight>80</FlashHeight>
  <FlashAlign>center</FlashAlign>
  <FlashTop>0</FlashTop>
  <FlashTransparent>-1</FlashTransparent>
</Flash>

</SkinSet>

只要在皮肤的skin.xml文件</DesignerMail>后面,加上这段代码,head.swf就能被载入到博客了
界面配置文件 skin.xml 字段分析
SkinName 界面名称
SkinDesigner 界面设计者
pubDate 发布时间
DesignerURL 设计者主页
DesignerMail 设计者电子邮件
Flash/UseFlash 是否使用Flash导航条 0=false -1=true
Flash/FlashPath Flash导航条路径名
Flash/FlashWidth Flash导航条宽度  
Flash/FlashHeight Flash导航条高度
Flash/FlashAlign Flash导航条对齐方式 left | right | center
Flash/FlashTop Flash导航条距离页面顶部高度
Flash/FlashTransparent Flash导航条是否透明 0=false -1=true




<FlashWidth>748</FlashWidth>宽度可以取值为多少像素例如:748px,就表示flash有748像素宽,
你也可以定义成<FlashWidth>100%</FlashWidth> 这样 flash就能伸缩自如,可以用于自适应皮肤




第三步:CSS定位皮肤flash
  上面的skin.xml虽然定位了flash的高与宽还有到顶部的距离,还定义了是否透明,但是不同的皮肤有不同的DIV结构,所以我们还要再二次定位,保证万无一失。

打开layout.css,在
/*---主体样式---*/  
#container{width:760px;margin:0 auto;text-align:center;……省略}下面一排
添加 #FlashHead{position: absolute;width:100%;left:0px;}
这样就给flash层<div id="FlashHead" >定位了,
position: absolute;表示绝对定位,绝对定位有上top、下bottom,左left,右right,四种属性,因为skin.xml已经定意了top属性,所以我不必定义这个属性。上面css定义left左属性left:0px,然而defaultFlash皮肤,是个固定宽度皮肤(#container{width:760px;margin:0 auto;text-align:center;……省略})   宽度为760像素,比flash748像素宽一点,皮肤自动居中,flash层<div id="FlashHead" >是container层的一个子层,所以<div id="FlashHead" >也居中显示,因为flash比container层小12像素,所以定位left:0px;表示左对齐。width:100%; 是为了兼容FF游览器用的,如果不加<div id="FlashHead" >层就无法在FF居中显示,就会错位。



-------//自适应皮肤flash定义-----------------------------------------------------------

如果你想给自适应皮肤定位自动缩放flash,只用两步
第一步:打开skin.xml,在皮肤的skin.xml文件</DesignerMail>后面,加上下面的代码,
<Flash>
  <UseFlash>-1</UseFlash>
  <FlashPath>head.swf</FlashPath>
  <FlashWidth>100%</FlashWidth>
  <FlashHeight>80</FlashHeight>
  <FlashAlign>center</FlashAlign>
  <FlashTop>0</FlashTop>
  <FlashTransparent>-1</FlashTransparent>
</Flash>


整个flash宽度为100%,高度为80px,位置center居中,这样就能收放自如了,

  小技巧:因为Flash是基于矢量的软件,因此使用自适应皮肤时,如果缩放浏览览器,那百分比定义宽的Flash,也会跟着放大或缩小,也许会变形。
  如果不希望这样,可以在flash AS脚本的第一帧写入以下脚本:fscommand("allowscale", "false");
此脚本会禁用自动缩放功能。但是对使用播放器的“放大”和“缩小”命令进行手动缩放没有影响。要取消禁用,只需要将第二个参数false改为true即可。



第二步:打开layout.css,在
/*---主体样式---*/  
#container{width:100%;margin:0 auto;text-align:center;……省略}下面一排
添加 #FlashHead{position: absolute;width:100%;}

自适应皮肤flash就定义成功了
-----------------------------------------------------------------------------------------------------完成//---------

[ 本帖最后由 ilank 于 2008-9-6 02:20 编辑 ]
   iLank  婚纱摄影

PJHome荣誉版主

风格区版主

Rank: 40Rank: 40Rank: 40Rank: 40

PJ币
3290 元
积分
2489
帖子
711
注册时间
2006-6-30
在线时间
772 小时

PJBLOG SKIN设计师 - 第二届PJBLOG2 SKIN设计大赛入围前十名颁发

发表于 2008-2-17 20:38:58 |显示全部楼层
----------------------------横向的菜单栏置于FLASH之上的修改方法说明---------------------------

方法简单:共四步
第一步:上传flash文件head.swf到皮肤目录下,设置好skin.xml文件,
<FlashTransparent>-1</FlashTransparent>定义flash透明显示

<Flash>
  <UseFlash>-1</UseFlash>
  <FlashPath>head.swf</FlashPath>
  <FlashWidth>748</FlashWidth>
  <FlashHeight>80</FlashHeight>
  <FlashAlign>center</FlashAlign>
  <FlashTop>0</FlashTop>
  <FlashTransparent>-1</FlashTransparent>
</Flash>

第二步,打开common/common.js
找到//写入顶部Flash文件
function WriteHeadFlash(Path,Width,Height,Transparent){
  var Temp,T=""
  Temp='<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="FlashH" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" border="0" width="'+Width+'" height="'+Height+'">'
  Temp+='<param name="movie" value="'+Path+'"/>'
  Temp+='<param name="quality" value="High"/>'
  Temp+='<param name="scale" value="ExactFit"/>'
  if (Transparent) {Temp+=' <param name="wmode" value="transparent"/>';T='wmode="transparent"'}
  Temp+='<embed src="'+Path+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="FlashH" width="'+Width+'" height="'+Height+'" quality="High"'+T+' scale="ExactFit"/>'
  Temp+='</object>'
  document.getElementById("FlashHead").innerHTML=Temp
}


把红色部分改成opaque属性
如下//写入顶部Flash文件
function WriteHeadFlash(Path,Width,Height,Transparent){
  var Temp,T=""
  Temp='<object classid="clsid27CDB6E-AE6D-11CF-96B8-444553540000" id="FlashH" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" border="0" width="'+Width+'" height="'+Height+'">'
  Temp+='<param name="movie" value="'+Path+'"/>'
  Temp+='<param name="quality" value="High"/>'
  Temp+='<param name="scale" value="ExactFit"/>'
  if (Transparent) {Temp+=' <param name="wmode" value="opaque"/>';T='wmode="opaque"'}
  Temp+='<embed src="'+Path+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="FlashH" width="'+Width+'" height="'+Height+'" quality="High"'+T+' scale="ExactFit"/>'
  Temp+='</object>'
  document.getElementById("FlashHead").innerHTML=Temp
}


第三步:定义导航菜单在flash之上的层的属性
打开皮肤文件layout.css
定义导航菜单 #header #menu{position: absolute; z-index:1000; top:10px;}
其导航菜单栏绝对定位,成为flash最上面的层,而不被flash遮挡。

打开layout.css,在
/*---主体样式---*/  
#container{width:760px;margin:0 auto;text-align:center;……省略}下面一排
添加 #FlashHead{position: absolute;width:100%;left:0px;}
这样就给flash层<div id="FlashHead" >定位了,



原理:flash有一个不遮挡层的属性<param name="wmode" value="opaque"/>
红色就是其值。添加了此属性的flash就不会遮挡住层,

------------------------------------------------//解答完---------------









[ 本帖最后由 ilank 于 2008-2-17 20:44 编辑 ]
   iLank  婚纱摄影

使用道具 举报

PJHOME管理员

『 界面风格讨论 』区版主

Rank: 64Rank: 64Rank: 64Rank: 64

PJ币
19153 元
积分
8428
帖子
2778
注册时间
2007-6-5
在线时间
1341 小时
发表于 2008-2-18 13:03:57 |显示全部楼层
淘好.  沁.  

使用道具 举报

PJFans LV3

禁止发言

Rank: 18Rank: 18Rank: 18

PJ币
153 元
积分
4501
帖子
141
注册时间
2007-10-27
在线时间
436 小时
发表于 2008-3-20 21:58:10 |显示全部楼层
好帖,好好学习!!!
论坛统一签名亲,我们的论坛签名是需要消费PJ币哦!!点击购买签名

温馨提示:博客地址敬请放在签名档,方便协助解决问题!

币币很多,花不完?来吧,购买他人签名,挂上你的链接!

使用道具 举报

Rank: 1

PJ币
1 元
积分
1
帖子
1
注册时间
2008-7-15
在线时间
0 小时
发表于 2008-7-15 10:55:38 |显示全部楼层
我看了半天也没看明白啊
论坛统一签名亲,我们的论坛签名是需要消费PJ币哦!!点击购买签名

温馨提示:博客地址敬请放在签名档,方便协助解决问题!

币币很多,花不完?来吧,购买他人签名,挂上你的链接!

使用道具 举报

Rank: 1

PJ币
2 元
积分
2
帖子
2
注册时间
2008-10-15
在线时间
0 小时
发表于 2008-10-15 21:56:23 |显示全部楼层

请教

如果我有FLASH皮肤,我应该怎样把我的全景图片(还有TIP即画中游嵌进去)呢??
同时可以实现鼠标和键盘对原有的FLASH皮肤中的按钮进行操作
就想作成类似酒店的全景漫游广告……
我想把学校的环境做成那样

使用道具 举报

Rank: 1

PJ币
2 元
积分
2
帖子
2
注册时间
2008-10-15
在线时间
0 小时
发表于 2008-10-15 21:57:39 |显示全部楼层

拜托了

拜托了

使用道具 举报

Rank: 1

PJ币
27 元
积分
532
帖子
42
注册时间
2008-12-2
在线时间
49 小时
发表于 2008-12-14 20:55:38 |显示全部楼层
太详细了

使用道具 举报

PJFans LV2

御前带刀侍卫

Rank: 8Rank: 8

PJ币
163 元
积分
1668
帖子
138
注册时间
2008-11-25
在线时间
153 小时
发表于 2009-3-24 15:37:27 |显示全部楼层
好帖子
论坛统一签名亲,我们的论坛签名是需要消费PJ币哦!!点击购买签名

温馨提示:博客地址敬请放在签名档,方便协助解决问题!

币币很多,花不完?来吧,购买他人签名,挂上你的链接!

使用道具 举报

Rank: 22Rank: 22Rank: 22Rank: 22

PJ币
250 元
积分
7643
帖子
93
注册时间
2009-3-18
在线时间
755 小时
发表于 2009-4-1 09:46:56 |显示全部楼层
我还是看不明白!

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入PJHOME

关闭

PJHOME小黑板报

手机版|纯文字版|BBS.PJHOME.NET ( 粤ICP备11022983号-1 )  

GMT+8, 2012-2-4 14:44 , Processed in 0.088556 second(s), 8 queries , Eaccelerator On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部