java3d翻转纪念相册_抖音上很火的3D立体动态相册实现代码!

html代码

酷炫3d

复制代码

css重要的

@charset "utf-8";

*{

margin:0;

padding:0;

}

body{

max-width: 100%;

min-width: 100%;

height: 100%;

background-size: cover;

background-repeat: no-repeat;

background-attachment: fixed;

background-size:100% 100%;

position: absolute;

margin-left: auto;

margin-right: auto;

}

li{

list-style: none;

}

.box{

width:200px;

height:200px;

background-size: cover;

background-repeat: no-repeat;

background-attachment: fixed;

background-size:100% 100%;

position: absolute;

margin-left: 42%;

margin-top: 22%;

-webkit-transform-style:preserve-3d;

-webkit-transform:rotateX(13deg);

-webkit-animation:move 5s linear infinite;

}

.minbox{

width:100px;

height:100px;

position: absolute;

left:50px;

top:30px;

-webkit-transform-style:preserve-3d;

}

.minbox li{

width:100px;

height:100px;

position: absolute;

left:0;

top:0;

}

.minbox li:nth-child(1){

/*background: url(../img/01.png) no-repeat 0 0;*/

-webkit-transform:translateZ(50px);

}

.minbox li:nth-child(1) img{

width: 100%;

height: 100%;

}

.minbox li:nth-child(2) img{

width: 100%;

height: 100%;

}

.minbox li:nth-child(3) img{

width: 100%;

height: 100%;

}

.minbox li:nth-child(4) img{

width: 100%;

height: 100%;

}

.minbox li:nth-child(5) img{

width: 100%;

height: 100%;

}

.minbox li:nth-child(6) img{

width: 100%;

height: 100%;

}

.minbox li:nth-child(2){

/*background: url(../img/02.png) no-repeat 0 0;*/

-webkit-transform:rotateX(180deg) translateZ(50px);

}

.minbox li:nth-child(3){

/*background: url(../img/03.png) no-repeat 0 0;*/

-webkit-transform:rotateX(-90deg) translateZ(50px);

}

.minbox li:nth-child(4){

/*background: url(../img/04.png) no-repeat 0 0;*/

-webkit-transform:rotateX(90deg) translateZ(50px);

}

.minbox li:nth-child(5){

/*background: url(../img/05.png) no-repeat 0 0;*/

-webkit-transform:rotateY(-90deg) translateZ(50px);

}

.minbox li:nth-child(6){

/*background: url(../img/06.png) no-repeat 0 0;*/

-webkit-transform:rotateY(90deg) translateZ(50px);

}

.maxbox li:nth-child(1){

/*background: url(../img/1.png) no-repeat 0 0;*/

-webkit-transform:translateZ(50px);

}

.maxbox li:nth-child(2){

/*background: url(../img/2.png) no-repeat 0 0;*/

-webkit-transform:translateZ(50px);

}

.maxbox li:nth-child(3){

/*background: url(../img/3.png) no-repeat 0 0;*/

-webkit-transform:rotateX(-90deg) translateZ(50px);

}

.maxbox li:nth-child(4){

/*background: url(../img/4.png) no-repeat 0 0;*/

-webkit-transform:rotateX(90deg) translateZ(50px);

}

.maxbox li:nth-child(5){

/*background: url(../img/5.png) no-repeat 0 0;*/

-webkit-transform:rotateY(-90deg) translateZ(50px);

}

.maxbox li:nth-child(6){

/*background: url(../img/6.png) no-repeat 0 0;*/

-webkit-transform:rotateY(90deg) translateZ(50px);

}

.maxbox{

width: 800px;

height: 400px;

position: absolute;

left: 0;

top: -20px;

-webkit-transform-style: preserve-3d;

}

.maxbox li{

width: 200px;

height: 200px;

background: #fff;

border:1px solid #ccc;

position: absolute;

left: 0;

top: 0;

opacity: 0.2;

-webkit-transition:all 1s ease;

}

.maxbox li:nth-child(1){

-webkit-transform:translateZ(100px);

}

.maxbox li:nth-child(1) img{

width: 100%;

height: 100%;

}

.maxbox li:nth-child(2) img{

width: 100%;

height: 100%;

}

.maxbox li:nth-child(3) img{

width: 100%;

height: 100%;

}

.maxbox li:nth-child(4) img{

width: 100%;

height: 100%;

}

.maxbox li:nth-child(5) img{

width: 100%;

height: 100%;

}

.maxbox li:nth-child(6) img{

width: 100%;

height: 100%;

}

.maxbox li:nth-child(2){

-webkit-transform:rotateX(180deg) translateZ(100px);

}

.maxbox li:nth-child(3){

-webkit-transform:rotateX(-90deg) translateZ(100px);

}

.maxbox li:nth-child(4){

-webkit-transform:rotateX(90deg) translateZ(100px);

}

.maxbox li:nth-child(5){

-webkit-transform:rotateY(-90deg) translateZ(100px);

}

.maxbox li:nth-child(6){

-webkit-transform:rotateY(90deg) translateZ(100px);

}

.box:hover ol li:nth-child(1){

-webkit-transform:translateZ(300px);

width: 400px;

height: 400px;

opacity: 0.8;

left: -100px;

top: -100px;

}

.box:hover ol li:nth-child(2){

-webkit-transform:rotateX(180deg) translateZ(300px);

width: 400px;

height: 400px;

opacity: 0.8;

left: -100px;

top: -100px;

}

.box:hover ol li:nth-child(3){

-webkit-transform:rotateX(-90deg) translateZ(300px);

width: 400px;

height: 400px;

opacity: 0.8;

left: -100px;

top: -100px;

}

.box:hover ol li:nth-child(4){

-webkit-transform:rotateX(90deg) translateZ(300px);

width: 400px;

height: 400px;

opacity: 0.8;

left: -100px;

top: -100px;

}

.box:hover ol li:nth-child(5){

-webkit-transform:rotateY(-90deg) translateZ(300px);

width: 400px;

height: 400px;

opacity: 0.8;

left: -100px;

top: -100px;

}

.box:hover ol li:nth-child(6){

-webkit-transform:rotateY(90deg) translateZ(300px);

width: 400px;

height: 400px;

opacity: 0.8;

left: -100px;

top: -100px;

}

@keyframes move{

0%{

-webkit-transform: rotateX(13deg) rotateY(0deg);

}

100%{

-webkit-transform:rotateX(13deg) rotateY(360deg);

}

}复制代码

1.png 2.png~6.png是外层

01.png~06.png是里层

图片大小可随意设置 建议 外层100*100 里层400*400

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
//存为MoFang.java import java.applet.Applet ; import java.awt.*; import com.sun.j3d.utils.applet.MainFrame ; import java.awt.BorderLayout ; import com.sun.j3d.utils.universe.SimpleUniverse ; import javax.media.j3d.*; import javax.vecmath.*; import com.sun.j3d.utils.behaviors.mouse.*; import com.sun.j3d.utils.behaviors.keyboard.*; import com.sun.j3d.utils.picking.behaviors.*; import com.sun.j3d.utils.geometry.*; import com.sun.j3d.utils.image.TextureLoader ; import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.JFrame.*; import javax.swing.*; class mySimpleUniverse extends Applet { BranchGroup createSceneGraph(Canvas3D canvas) { //System.out.print("**1**"); //创建变换组,无用的t3D Transform3D t3d=new Transform3D(); TransformGroup trans=new TransformGroup(t3d); trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); //创建分枝组 BranchGroup objRoot=new BranchGroup(); //测试 //SomeShape3D.book3D( this, trans); SomeShape3D.addText3DDonghua(trans,"魔方",new Point3f(-7.0f,6.0f,6.0f),0.1f,new Color3f(1.0f,0.0f,0.0f),1); //初始化数据结构 System.out.println("\n\n载入方块,并向变换组中加入每个方块的坐标系和方块..."); for(int i=0;i<=2;i++) for(int j=0;j<=2;j++) for(int k=0;k<=2;k++) { int[] p; p=Position.getPxyzFromPositionAy(i,j,k,MoFang.positionArray); MoFang.blockArray[i][j][k]=new Block(i,j,k,p[0],p[1],p[2],trans,t3d,objRoot,this); } System.out.println("加入每个方块的坐标系和方块,完成.\n"); //创建大坐标轴,自动加到主坐标系 SomeShape3D.zuoBiaoZhuBigXShape3D(trans); SomeShape3D.zuoBiaoZhuBigYShape3D(trans); SomeShape3D.zuoBiaoZhuBigZShape3D(trans); //创建边界对象 BoundingSphere bounds=new BoundingSphere(new Point3d(0.0,0.0,0.0),100); //创建鼠标pick行为,加到分支组objRoot PickRotateBehavior pickRotate=new PickRotateBehavio
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值