12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // Learn TypeScript:
- // - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
- // Learn Attribute:
- // - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
- // Learn life-cycle callbacks:
- // - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
- import { GameLogic } from "./update/GameLogic";
- const {ccclass, property, executeInEditMode, playOnFocus} = cc._decorator;
- @ccclass
- @executeInEditMode
- @playOnFocus
- export default class flyImg extends GameLogic {
- pos:cc.Vec2 = cc.v2(0,0);
- uvSpeed: number = 0;
- mat: cc.MaterialVariant = null;
- @property({type: cc.Integer})
- private _speed: number = 100;
- @property({type: cc.Integer})
- public get speed(): number {
- return this._speed;
- }
- public set speed(value: number) {
- this._speed = value;
- this.uvSpeed = value / this.node.height
- }
- onLoad () {
- let spr = this.getComponent(cc.Sprite);
- let mat = spr.getMaterial(0);
- mat.setProperty('center', this.pos);
- this.uvSpeed = this.speed / this.node.height
- this.mat = this.node.getComponent(cc.Sprite).getMaterial(0);
- }
- gameUpdate(dt: number): void {
- let uvSpeed = this.uvSpeed * dt;
- this.pos.y -= uvSpeed;
- this.mat.setProperty('center', this.pos);
- }
- }
|