Contents
Articles
Behaviors
Books
Director News
Director Web Sites
FAQ
Games
Mailing Lists
News Groups
Project Examples
Reviews
Software
Tools
Useful Web Sites
Utilities
Xtras

Don't miss these
Inno Setup Pro
Posterize Effect - Imaging Lingo
Inconsistent Buttons
Refine a search - Valentina
Attr
EzeeAlert
Cut Behavior (Ctrl + X)
Graph Class
Mastering Macromedia Dreamweaver 3
Simple Encryption / Decryption
 

 

 

Behavior Drag Ripple-Alphamania

Added on 6/10/1999

 

Compatibilities:
D6_5 D7 D8 Mac PC Script

Required Xtras:
Alphamania
Effector Set II for Alphamania

This item has not yet been rated

Author: MediaLab (website)

Drag ripple effect. Requires Effector Set 2

property sNum
property postLength
property frameCount

on getBehaviorDescription me
  return "This behavior will place ripples at the mouse location as the mouse is dragged. The result is a water ski effect."
end

on getPropertyDescriptionList me
  set list = [:]
  addProp list, #postLength, [#comment: "Exit Delay:", #format: #integer, #default: 100, #range: [#max: 1000, #min:1]]
  return list
end

on beginSprite me
  set sNum = the spriteNum of me
  set frameCount = postLength
  ripple(sprite sNum)
  PauseEffect(sprite sNum, #ripple)
  
end

on endSprite me
  set pos =   getone(the actorList, me)
  if pos then
    deleteAt(the actorList, pos)
  end if
end


on mouseDown me
  set frameCount = postLength
  StopEffect(me) -- removes from the actorList
  ContinueEffect(sprite sNum, #ripple)
  repeat while the mouseDown
    set x = the mouseH - (the left of sprite sNum)
    set y = the mouseV - (the top of sprite sNum)
    ripple(sprite sNum, [xLocation: x, yLocation: y])
    updateStage
  end repeat
  ResumeEffect(me) -- adds (once) to the actorList
end


on stepFrame me
  set frameCount = frameCount - 1
  if frameCount <= 0 then
    StopEffect(me)
  end if
end



on StopEffect me, sym
  -- removes this behavior from the actorList
  if not voidP(sym) then
    if sym <> #ripple then exit
  end if
  set pos =   getone(the actorList, me)
  if pos then
    deleteAt(the actorList, pos)
    PauseEffect(sprite sNum, #ripple)
  end if
end

on ResumeEffect me, sym
  -- adds this behavior to the actorList
  if not voidP(sym) then
    if sym <> #ripple then exit
  end if
  set pos =   getone(the actorList, me)
  if pos = 0 then
    Add(the actorList, me)
    ContinueEffect(sprite sNum, #ripple)
  end if
end

 


Contact

MMI
36 South Court Sq
Suite 300
Newnan, GA 30263
USA

Send e-mail