拖动弹跳效果:
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
/**
* ...
* @author zkl
*/
public class dragAndMove1 extends Sprite
{
private var ball:Ball;
private var vx:Number = 0;
private var vy:Number = 0;
private var bounce:Number = -0.7;
private var gravity:Number = 0.5;
private var oldX:Number;
private var oldY:Number;
public function dragAndMove1():void
{
init();
}
private function init():void
{
stage.align = StageAlign.LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
ball = new Ball;
addChild(ball);
ball.x = stage.stageWidth / 2;
ball.y = stage.stageHeight / 2;
vx = Math.random() * 10 - 5;
vy = -10;
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(e:Event):void
{
vy += gravity;
ball.x += vx;
ball.y += vy;
var left:Number = 0;
var right:Number = stage.stageWidth;
var top:Number = 0;
var bottom:Number = stage.stageHeight;
if (ball.x + ball.radius > right) {
ball.x = right - ball.radius;
vx *= bounce;
}else if (ball.x - ball.radius < left) {
ball.x = left + ball.radius;
vx *= bounce;
}
if (ball.y + ball.radius > bottom) {
ball.y = bottom - ball.radius;
vy *= bounce;
}else if(ball.y - ball.radius < top) {
ball.y = top + ball.radius;
vy *= bounce;
}
}
private function onMouseDown(e:MouseEvent):void
{
oldX = ball.x;
oldY = ball.y;
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
ball.startDrag();
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
addEventListener(Event.ENTER_FRAME, trackVelocity);
}
private function trackVelocity(e:Event):void
{
vx = ball.x - oldX;
vy = ball.y - oldY;
oldX = ball.x;
oldY = ball.y;
}
private function onMouseUp(e:MouseEvent):void
{
stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
ball.stopDrag();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
removeEventListener(Event.ENTER_FRAME, trackVelocity);
}
}
}
分享到:
相关推荐
在Delphi编程环境中,实现图片拖动和弹跳效果是一项常见的需求,特别是在开发用户界面时。这个主题主要涉及两个核心概念:鼠标事件处理和动画效果的实现。下面将详细讲解如何在Delphi中创建这样的功能。 首先,我们...
在本教程中,我们将深入探讨如何使用Microsoft PowerPoint创建一个具有逼真弹性小球弹跳效果的演示文稿。这个教程适合初学者,旨在帮助那些希望提升PPT制作技能的用户,让他们能够为自己的演示文稿增添生动有趣的...
"swift-JQStickersView:仿摩拜单车我的贴纸摩拜单车贴纸弹跳效果"是一个开源项目,旨在模仿摩拜单车应用中的个性化贴纸功能,特别是其独特的贴纸弹跳动画。这个项目,即JQStickersView,是专门为iOS开发者设计的,它...
在探讨Javascript实现的重力弹跳拖拽运动效果示例中,我们将详细介绍这个效果如何通过JavaScript来实现。重力弹跳拖拽效果是指在网页上创建一个元素,它可以像在现实中具有重力和弹性一样,当用户拖拽后释放时,该...
在“黏连效果”中,粒子系统可能被用来创建拖拽时气泡尾部的动态效果,使拖动看起来更自然。 3. **脚本编程**:C#是Unity的主要编程语言,编写脚本是控制游戏对象行为的关键。在本案例中,你需要编写脚本来处理用户...
而弹跳效果可能通过“碰到边缘就反弹”实现,这是碰撞检测的一种应用。 4. **条件语句**:游戏中的逻辑判断非常重要,例如,“如果角色碰到障碍物,则游戏结束”。 5. **计时器和循环**:游戏的进程可能由计时器...
`Scroller`可以提供基于物理特性的滚动动画,而`SpringForce`是AndroidX动画库中的一个新工具,它可以模拟弹簧的弹跳效果,使动画更具真实感。根据项目需求,可以选择适合的工具来实现弹性回弹的动画效果。 为了...
这款"HTML5 Canvas鼠标拖动方块弹性动画特效"利用了Canvas的API,结合鼠标事件,实现了用户可以交互地拖动方块,并观察到方块在释放后有如糖果或果冻般的弹跳效果。 首先,我们要理解Canvas的基本结构。在HTML中,`...
6. **触控事件**:为了提高用户体验,可以添加触摸事件监听器,让用户可以拖动气泡查看完整内容,或者长按删除。 三、物品下落动画 物品下落动画通常涉及一个物体从屏幕上方掉落到下方,可以应用于各种场景,如游戏...
7. **弹跳效果**:弹出层在出现时具有轻微的弹跳感,这需要CSS的`animation`属性配合关键帧(@keyframes)来定义动画过程。 8. **平移效果**:弹出层从页面的一个位置移动到另一个位置,可以使用CSS的`translate3d...
适用于android的具有'Bounce'效果的'Overscrollable'ListView! 用法: 可以使用listview.setBounce(true / false)打开/关闭反弹效果。 动画延迟可以通过延迟变量(以毫秒为单位)进行设置。 默认值=10。值越大...
例如,可以使用`ObjectAnimator.ofFloat()`方法创建一个基于属性的动画,动画的目标是小球的位置和缩放比例,以模拟弹跳效果。同时,还可以通过设置动画的时间插值器,如`BounceInterpolator`,来增加动画的真实感。...
结合`.animate()`和物理运动规律,可以制作出逼真的弹跳效果。 6. **涟漪扩散**:当水球被触碰时,可以创建一圈圈向外扩散的涟漪。这可以通过改变元素的半径和透明度来实现,结合时间函数,使得涟漪逐渐消失。 7. ...
控制点可以调整小球的初始速度、弹跳高度以及缓震效果,使得动画既符合物理规律又具有趣味性。 在"CustomizeView-master"这个压缩包中,很可能包含了实现这些效果的相关代码和示例。开发者可以通过研究这些代码,...
Scratch是由麻省理工学院(MIT)的“终身幼儿园团队”开发的一款面向儿童的编程工具,旨在通过拖拽积木式的编程语块,让孩子们在玩耍中学习编程概念。 在这个项目中,"弹跳球音乐版1v2.sb2"是核心文件,它包含了...
妙味课堂弹性跳动的JS弹出窗口代码,用来显示网站公告、广告相当好的选择,另外我认为弹出窗口做的也挺不错,特别是弹跳缓冲效果很流畅。研究一下吧,可以从代码中了解到物体运动速度的计算,最大速度的获得,初始化...
还可以通过添加动画来提升用户体验,例如拖动时的平滑过渡和放置时的弹跳效果。 在实际开发中,考虑到性能和用户体验,我们需要优化拖放操作,避免不必要的重绘和计算。例如,只在必要的时候更新UI,或者使用...
7. **关闭按钮和拖拽功能(Close Button & Draggable)**:为了方便用户,弹窗通常包含一个关闭按钮,并且可以添加拖拽功能,让用户自由调整弹窗位置。这需要监听鼠标事件并处理相应逻辑。 8. **自定义事件触发...
- **弹跳效果**:这种效果更富动态感,弹出层在出现或消失时有轻微的弹跳动作。这可能涉及到自定义动画函数,调整元素的大小和位置,模拟物理世界的弹性运动。例如,使用`animate()`方法并配合 easing 函数(如`...