栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

flame tutorials- Adding input and graphics

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

flame tutorials- Adding input and graphics

  •  可移动的白色方块
import 'dart:ui';

import 'package:flame/components.dart';
import 'package:flame/game.dart';
import 'package:flame/input.dart';
import 'package:flutter/material.dart';

class SpaceShooterGame1 extends FlameGame with PanDetector{
  late Player1 player;
  @override
  Future? onLoad() async{
    // TODO: implement onLoad
    await super.onLoad();
    player=Player1();
    add(
        player..position=size/2
          ..width=50
          ..height=100
          ..anchor=Anchor.center
    );
  }

  @override
  void onPanUpdate(DragUpdateInfo info) {
    player.move(info.delta.game);
  }
}


class Player1 extends PositionComponent{
  static final _paint=Paint()..color=Colors.white;

  @override
  void render(Canvas canvas) {
    canvas.drawRect(size.toRect(), _paint);
  }

  void move(Vector2 delta){
    position.add(delta);
  }
}

  •  可移动的精灵一
import 'dart:ui';

import 'package:flame/components.dart';
import 'package:flame/game.dart';
import 'package:flame/input.dart';
import 'package:flutter/material.dart';

class SpaceShooterGame2 extends FlameGame with PanDetector{
  late Player2 player;
  @override
  Future? onLoad() async{
    await super.onLoad();
    player=Player2();
    final playerSprite=await loadSprite("bloc_logo_small.png");
    add(
        player..position=size/2
          ..sprite=playerSprite
          ..width=50
          ..height=100
          ..anchor=Anchor.center
    );
  }

  @override
  void onPanUpdate(DragUpdateInfo info) {
    player.move(info.delta.game);
  }
}


class Player2 extends SpriteComponent{
  void move(Vector2 delta){
    position.add(delta);
  }
}

  • 可移动的精灵二
import 'dart:ui';

import 'package:flame/components.dart';
import 'package:flame/game.dart';
import 'package:flame/input.dart';
import 'package:flutter/material.dart';

class SpaceShooterGame3 extends FlameGame with PanDetector{
  late Player3 player;
  @override
  Future? onLoad() async{
    await super.onLoad();
    player=Player3();
    add(player);
  }

  @override
  void onPanUpdate(DragUpdateInfo info) {
    player.move(info.delta.game);
  }
}


class Player3 extends SpriteComponent with HasGameRef{

  @override
  Future? onLoad() async{
    await super.onLoad();
    sprite=await gameRef.loadSprite("bloc_logo_small.png");
    position=gameRef.size/2;
    width=100;
    height=150;
    anchor=Anchor.center;
  }

  void move(Vector2 delta){
    position.add(delta);
  }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684382.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号