Box Delete

bg = new BackgroundLayer
	backgroundColor :"#b5f7e6"

#스크롤 컴포너트 생성 key Point!!
BoxB = new ScrollComponent
	backgroundColor:"#53c0a2"
	scrollHorizontal:false
	width : 440, height :440
	borderRadius : 16

#리스트 박스 가운데 정렬
BoxB.center()

#스크롤 박스안에 Padding value 부여
BoxB.contentInset =
	top: 20
	bottom:20

BoxC = new Layer
	superLayer: BoxB.content
	backgroundColor:"#266352"
	borderRadius:8
	width:400
	height:120
	x:20
	y:-140
	scale:0
	
box_array = []

#리스트 박스 다수 생서 함수
for row in [0..2]
	for col in [0..2]
		BoxA = new Layer
			name: "frame #{row}, #{col}"
			superLayer:BoxB.content
			backgroundColor:"#fff"
			opacity:0.9
			borderRadius:8
			width:120
			height:120
			x:20+row*140
			y:140*col
		box_array.push(BoxA);
		
# 		BoxA.on Events.Click, ->
# 			BoxA.backgroundColor = "red"

for layer, index in box_array
	# 골뱅이 or this는 클릭된 자기자신의 레이어를 지칭해요
	# On click
	layer.onClick ->
		if this.visible = true 
			AnimationOpacity(this, 0) #this -> 레이어이름, 0 <- opacity_value
			
		else if this.visible = false
			AnimationOpacity(this, 1)
			
	layer.onAnimationEnd ->
		AnimationAction(this, 0)
		time: 1
#  		this.visible = false
 			# @bringToFront() <- 선택된 레이어 상위로 변경
	
# 사라지는 레이어 애니메이션의 애니메이션 정의 함수
AnimationOpacity = (thisLayer) ->
	thisLayer.animate 
			properties:
				scale: 1.3
			time : 1
			curve:"ease-in-out"
			#curve: "spring(500, 40, 0)"
			
AnimationAction = (thisLayer) ->
	thisLayer.animate
			properties:
				scale: 1
				opacity: 0
			time : 1
			curve:"ease-in-out"
			#curve: "spring(500, 40, 0)"

#스크롤이  "-30"이동 시, 이벤트 발생
if BoxB.scrollY < -30
	BoxC.animate
		properties:{scale:1}
		curve:"spring(400,30,0)"			

 

 

2차 함수 강의 결과

파라미터, on

# Project Info
# This info is presented in a widget when you share.
# http://framerjs.com/docs/#info.info

Framer.Info =
	title: ""
	author: "design"
	twitter: ""
	description: ""


bg = new BackgroundLayer
	backgroundColor :"#b5f7e6"

#스크롤 컴포너트 생성 key Point!!
BoxB = new ScrollComponent
	backgroundColor:"#53c0a2"
	scrollHorizontal:false
	width : 440, height :440
	borderRadius : 16

boxBWrap = new Layer
	width: BoxB.width
	height: BoxB.height	
	superLayer: BoxB.content	
	backgroundColor: "transparent"
	
boxBWrap.style =
	"marginTop": "20px"

#리스트 박스 가운데 정렬
BoxB.center()

#스크롤 박스안에 Padding value 부여 BoxB.contentInset =
# 	top: 20
# 	bottom:20

	
box_array = []

#리스트 박스 다수 생서 함수
for row in [0..2]
	for col in [0..2]
		BoxA = new Layer
			name: "frame #{row}, #{col}"
			superLayer: boxBWrap
			backgroundColor:"#fff"
			opacity:0.9
			borderRadius:8
			width:120
			height:120
			x:20+row*140
			y:140*col
		box_array.push(BoxA);
		
# 		BoxA.on Events.Click, ->
# 			BoxA.backgroundColor = "red"
# 사라지는 레이어 애니메이션의 애니메이션 정의 함수
# animScaleUp = (thisLayer) ->
# 	thisLayer.animate 
# 			properties:
# 				scale: 1.3
# 			time : 1
# 			curve:"ease-in-out"
			#curve: "spring(500, 40, 0)"
genAnimScaleUp = (layer, text) ->
	new Animation 
		layer: layer
		properties:
			scale: 1.3
		time : 1
		curve:"ease-in-out"

genAnimScaleDown = (layer) ->
	new Animation
		layer: layer
		properties:
			scale: 1
			opacity: 0
		time : 1
		curve:"ease-in-out"		

for layer, index in box_array
	# 골뱅이 or this는 클릭된 자기자신의 레이어를 지칭해요
	# On click
	layer.onClick ->
		if this.visible = true 
			animScaleUp = genAnimScaleUp this, ->
				print("hi");
#this -> 레이어이름, 0 <- opacity_value
			
			mLayer = this;
			print("------")
			print(this);
			animScaleUp.on "end", ->
				print("======")
				print(this);
				genAnimScaleDown(mLayer).start();
				
			animScaleUp.start();
		else if this.visible = false
			animScaleUp(this)
	
# 	layer.onAnimationEnd ->
# 		animScaleDown(this, 0)
# 		time: 1
#  		this.visible = false
 			# @bringToFront() <- 선택된 레이어 상위로 변경
	

			
animScaleDown = (thisLayer) ->
	thisLayer.animate
			properties:
				scale: 1
				opacity: 0
			time : 1
			curve:"ease-in-out"
			#curve: "spring(500, 40, 0)"

#스크롤이  "-30"이동 시, 이벤트 발생
if BoxB.scrollY < -30
	BoxC.animate
		properties:{scale:1}
		curve:"spring(400,30,0)"			

 

 

Json,Function 16.09.07 설명듣기

# Project Info
# This info is presented in a widget when you share.
# http://framerjs.com/docs/#info.info

Framer.Info =
	title: ""
	author: "design"
	twitter: ""
	description: ""


lims = require "lims"

bg = new BackgroundLayer
	backgroundColor :"#b5f7e6"

#스크롤 컴포너트 생성 key Point!!
BoxB = new ScrollComponent
	backgroundColor:"#53c0a2"
	scrollHorizontal:false
	width : 440, height :440
	borderRadius : 16

boxBWrap = new Layer
	width: BoxB.width
	height: BoxB.height	
	superLayer: BoxB.content	
	backgroundColor: "transparent"
	
boxBWrap.style =
	"marginTop": "20px"

#리스트 박스 가운데 정렬
BoxB.center()

#스크롤 박스안에 Padding value 부여 BoxB.contentInset =
# 	top: 20
# 	bottom:20

	
box_array = []

#리스트 박스 다수 생서 함수
for row in [0..2]
	for col in [0..2]
		BoxA = new Layer
			name: "frame #{row}, #{col}"
			superLayer: boxBWrap
			backgroundColor:"#fff"
			opacity:0.9
			borderRadius:8
			width:120
			height:120
			x:20+row*140
			y:140*col
		box_array.push(BoxA);
		
# 		BoxA.on Events.Click, ->
# 			BoxA.backgroundColor = "red"
# 사라지는 레이어 애니메이션의 애니메이션 정의 함수
# animScaleUp = (thisLayer) ->
# 	thisLayer.animate 
# 			properties:
# 				scale: 1.3
# 			time : 1
# 			curve:"ease-in-out"
			#curve: "spring(500, 40, 0)"
genRemove = ->
	print "Romove"


		
for layer, index in box_array
	# 골뱅이 or this는 클릭된 자기자신의 레이어를 지칭해요
	# On click
	layer.onClick ->
		if this.visible = true
			mLayer = this;
			
			anims = lims.genAnimScaleUp(this);
# 			print animScaleUp

# 			anims.scaleUp(this);
					
# 			anims.scaleUp.on "end", ->
# 				anims.scaleDown.start();
			anims.scaleUp.start()
				
			lims.genAnimScaleUp(this).scaleUp.on "end", ->
				anims.scaleDown.start();
			
			AnimScaleDown = lims.genAnimScaleDown this, ->
			print lims.genAnimScaleDown_(this)	
			lims.genAnimScaleDown(this).start();
# 			AnimScaleDown.on "end", ->
# 			lims.genAnimScaleDown.on "end", ->
# 				lims.genRemove()
				
# 			AnimScaleDown.start();
		else if this.visible = false
			animScaleUp(this)



	
# 	layer.onAnimationEnd ->
# 		animScaleDown(this, 0)
# 		time: 1
#  		this.visible = false
 			# @bringToFront() <- 선택된 레이어 상위로 변경
	


#스크롤이  "-30"이동 시, 이벤트 발생
if BoxB.scrollY < -30
	BoxC.animate
		properties:{scale:1}
		curve:"spring(400,30,0)"			

Module

# Add the following line to your project in Framer Studio.
# myModule = require "myModule"
# Reference the contents by name, like myModule.myFunction() or myModule.myVar

exports.myVar = "myVariable"

exports.myFunction = ->
	print "I'm limjjong"

exports.myArray = [1, 2, 3]

# function genAnimScaleUp(layer, func) {
# 	var anim = new Animation({
# 		layer: layer,
# 		properties: {
# 			scale: 1.3
# 		},
# 		time : 1,
# 		curve:"ease-in-out",
# 	});
#
# 	return anim;
# }

exports.genAnimScaleUp = (layer) ->
	anim1 = new Animation
		layer: layer
		properties:
			scale: 1.3
		time : 1
		curve:"ease-in-out"

	anim2 = new Animation
		layer: layer
		properties:
			scale: 0.5
		time : 1
		curve:"ease-in-out"

	obj = {
		scaleUp: anim1,
		scaleDown: anim2,
	}

	obj

exports.genAnimScaleDown_ = (layer) ->
	layer

exports.genAnimScaleDown = (layer) ->
	new Animation
		layer: layer
		properties:
			scale: 1
			opacity: 0
		time : 1
		curve:"ease-in-out"

exports.genRemove = ->
	# layer: layer
	# visible: false
	print "include_Romove"
		# layer.Remove

 

 

Imagine the perception of Morgan had he played for the Steelers rather than Lynn Swann.. If you win your division, you get to host the playoff game. Get Involved in Your Community So maybe you don’t like watching little league games, after all, you’re a young entrepreneur! So what, you need to let your community know NFL Jerseys Cheap who you are by either giving to or attending local events. The stock is priced at $4.80 a share. Send an office email to announce the office game Ask each colleague to bring a childhood picture of himself and give to a designated photo collector. Most bigger companies now a days aren’t employee friendly. A healthy, confident Barrett led the Buckeyes to an 11 1 record ray bans sale and a spot in the College Football Playoff against Clemson on New Year’s Eve. Curry, Barwin, and Graham form an excellent pass rush trio at end. I think it’s slanted toward the athletics. Everything to make you a better player, a better soccer player today. Stand the fan upright, plug in and set to medium. 20 Cheap Jerseys game against San Francisco; when he returned last week against the New York Jets, he left late in the first quarter Cheap NFL Jerseys with a back injury.. Jackson made history for being one of the first black players to be drafted for the Washington Redskins. Prior to joining FBN, Bolling helped launch and was an original panelist on CNBC’s Fast Money.. With the case of Mayweather and boxing, do you get the sense that there is is the outrage the same?. Be very cautious with children’s backpacks; painted characters and stuffed heads may be ruined in the wash. Bolling was named the Maybach Man of the Year in 2007 and hockey jerseys one of Trader Monthly’s Top Traders in 2007 and 2008. Whatever you think of his form, the Carter we see today should not be unchallenged any more yet he would still walk, or even hobble, into the test side.. This completes the jailbreaking of the system and you can now install an SNES emulator.. Barbara Slater, Director of BBC Sport, says: has a growing fan base in the UK and I delighted that the BBC can bring it free to air for our audience. I just didn’t want him to put himself in a premature decision where he had the weekend off, had a good time, and decided short term wise that, ‘OK, wholesale jerseys I don’t want to play football.’. Once in here, you have to have two people with two keys and two different PIN numbers, and that’s what you have to have.. If I didn’t feed him, pray to him, and bring him presents, something disastrous would befall the restaurant. Dish TV has a Fake Oakleys huge number of special interest channels.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.