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
AutoSave
Add to the back list
Hide mouse on idle
Lissajous Motion
Creating Records - Valentina
Creating a Game Environment
Font Freak
NetDone() not registering in IE on the Mac
Stop Projector After Eject CD
Particle Explosion Effect
 

 

 

Behavior Change ShapeType of a Shape cast member

Added on 5/31/2000

 

Compatibilities:
behavior D8 Mac PC Shockwave

This item has not yet been rated

Author: KumarK

Change ShapeType of a Shape cast member

---- written for Director 8 ---
---- Kumar.K ----
---- kumark@icode.com ----
------ Custom Properties ------

property  theMember,WhereTo,ShapeTypeProp

-- Events --
on EnterFrame me
  if WhereTo = "On EnterFrame" then
    controlShapeTypeProp
  end if
end EnterFrame

on ExitFrame me
  if WhereTo = "On EnterFrame" then
    controlShapeTypeProp
  end if
end ExitFrame

on MouseUp
  if WhereTo = "On MouseUp" then
    controlShapeTypeProp
  end if
end MouseUp

on MouseDown
  if WhereTo = "On MouseDown" then
    controlShapeTypeProp
  end if
end MouseDown

on MouseEnter
  if WhereTo = "On MouseEnter" then
    controlShapeTypeProp
  end if
end MouseEnter

on MouseLeave
  if WhereTo = "On MouseLeave" then
    controlShapeTypeProp
  end if
end MouseLeave
------ Events ------

------ Get Behavior Description List ------
on getPropertyDescriptionList me
  Shapemememberlist = searchShapeMember(me)
  if  Shapemememberlist.count() > 0 then
    set description = [:]
    addProp description, #theMember, [#format:#String, #comment: "Which Shape Member ?",
  #range:Shapemememberlist,#default:Shapemememberlist[1]]
  addProp description, #ShapeTypeProp, [#format:#String, #comment: "Convert To Which Shape ? ",
   #range:["Oval","Round Rectangle","Rectangle","Line"],#default:"Line" ]
    if the currentspritenum = 0 then
      addProp description, #WhereTo, [#comment: "Where To Attach ?" ,#format:#String,
    #range:["On EnterFrame","On ExitFrame"],#default:"On EnterFrame"]
    else
      addProp description, #WhereTo, [#comment: "Where To Attach ?" ,#format:#String,
    #range:["On MouseUp","On MouseDown","On MouseEnter","On MouseLeave"],#default:"On MouseUp"]    
    end if    
    return description
  else
    exit
  end if  
end getPropertyDescriptionList
------ Get Behavior Description List ------

-- Get Behavior description --
on getBehaviorDescription
  return "This Behavior Changes Shape Type of a Shape member" & RETURN & RETURN &
  "Parameters" & RETURN &
  "* Shape Member." & RETURN &
  "* Shape Type." & RETURN &
  "* Where to attach this Script"
end

------ Availbale for both Frame and Sprite Script ------
on isOKToAttach (me, aSpriteType, aSpriteNum)
  case aSpriteType of
    #graphic:
      return true
    #script:
      return true
  end case
end isOKToAttach
------ Availbale for both Frame and Sprite Script ------

------ Search for Flash Member ------
on searchShapeMember me
  Shapemememberlist = []
  maxCastLib = the number of castLibs
  repeat with theCastLib = 1 to maxCastLib
    maxMember = the number of members of castLib theCastLib
    repeat with memberNumber = 1 to maxMember
      theMember = member(memberNumber, theCastLib)
      if theMember.type = #Shape then
        if theMember.name = EMPTY then
          Shapemememberlist.append(theMember)
        else
          Shapemememberlist.append(theMember.name)
        end if
      end if
    end repeat
  end repeat
  return Shapemememberlist
end
------ Search for Flash Member ------

-- Custom Handler to change Shape Type of a Shape Member--
on controlShapeTypeProp
  if member (themember).type = #shape then
    case ShapeTypeProp of
      "Oval": member(theMember).ShapeType=#Oval
      "Rectangle":member(theMember).ShapeType=#Rect
      "Round Rectangle":member(theMember).ShapeType=#RoundRect
      "Line":member(theMember).ShapeType=#Line        
    end case
  end if  
end
-- Custom Handler to change Shape Type of a Shape Member--

 


Contact

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

Send e-mail