Skip to content
This repository has been archived by the owner on Mar 17, 2021. It is now read-only.

Commit

Permalink
Merge pull request #3 from flame-engine/add-actions-badges
Browse files Browse the repository at this point in the history
Add GH actions, lint, badges and format
  • Loading branch information
renancaraujo committed Mar 30, 2020
2 parents a6d1041 + 356fbf8 commit 21538ec
Show file tree
Hide file tree
Showing 8 changed files with 119 additions and 35 deletions.
18 changes: 18 additions & 0 deletions .github/workflows/test.yml
@@ -0,0 +1,18 @@
name: Test

on: push

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- uses: actions/setup-java@v1
with:
java-version: '12.x'
- uses: subosito/flutter-action@v1
with:
channel: 'stable'
- run: flutter pub get
- run: ./scripts/format.sh
3 changes: 3 additions & 0 deletions README.md
@@ -1,3 +1,6 @@
[![Pub](https://img.shields.io/pub/v/flame_scrolling_sprite.svg?style=popout)](https://pub.dartlang.org/packages/flame_scrolling_sprite)
![Build Status](https://img.shields.io/github/workflow/status/flame-engine/flame_scrolling_sprite/Test/master?label=tests)

# Flame Scrolling Sprite

Flame Scrolling Sprite is a [Flame](https://github.com/flame-engine/flame) package to make it easy to render sprites that scrolls and repeat itself forever given a velocity.
Expand Down
68 changes: 68 additions & 0 deletions analysis_options.yaml
@@ -0,0 +1,68 @@
# Source of linter options:
# http://dart-lang.github.io/linter/lints/options/options.html

linter:
rules:
- always_declare_return_types
- always_put_control_body_on_new_line
- always_require_non_null_named_parameters
- annotate_overrides
- avoid_empty_else
- avoid_field_initializers_in_const_classes
- avoid_init_to_null
- avoid_null_checks_in_equality_operators
- avoid_relative_lib_imports
- avoid_return_types_on_setters
- avoid_slow_async_io
- await_only_futures
- camel_case_types
- cancel_subscriptions
- control_flow_in_finally
- empty_catches
- empty_constructor_bodies
- empty_statements
- hash_and_equals
- implementation_imports
- iterable_contains_unrelated_type
- library_names
- library_prefixes
- list_remove_unrelated_type
- no_adjacent_strings_in_list
- no_duplicate_case_values
- non_constant_identifier_names
- package_api_docs
- package_names
- package_prefixed_library_names
- prefer_adjacent_string_concatenation
- prefer_asserts_in_initializer_lists
- prefer_collection_literals
- prefer_conditional_assignment
- prefer_const_constructors
- prefer_const_declarations
- prefer_const_literals_to_create_immutables
- prefer_contains
- prefer_equal_for_default_values
- prefer_final_fields
- prefer_final_locals
- prefer_foreach
- prefer_initializing_formals
- prefer_is_empty
- prefer_is_not_empty
- prefer_typing_uninitialized_variables
- recursive_getters
- slash_for_doc_comments
- sort_unnamed_constructors_first
- test_types_in_equals
- throw_in_finally
- type_init_formals
- unnecessary_brace_in_string_interps
- unnecessary_getters_setters
- unnecessary_null_aware_assignments
- unnecessary_null_in_if_null_operators
- unnecessary_overrides
- unnecessary_parenthesis
- unnecessary_this
- unrelated_type_equality_checks
- use_rethrow_when_possible
- unnecessary_new

13 changes: 5 additions & 8 deletions example/lib/main_city.dart
Expand Up @@ -11,18 +11,16 @@ void main() async {
}

class MyGame extends Game {

ScrollingSprite sprite;
final Size size;

MyGame(this.size) {
sprite = ScrollingSprite(
spritePath: 'city.png',
width: size.width,
horizontalSpeed: -100,

spriteDestWidth: 300,
spriteDestHeight: 150,
spritePath: 'city.png',
width: size.width,
horizontalSpeed: -100,
spriteDestWidth: 300,
spriteDestHeight: 150,
);
}

Expand All @@ -41,4 +39,3 @@ class MyGame extends Game {
@override
Color backgroundColor() => const Color(0xFF3f3f74);
}

16 changes: 6 additions & 10 deletions example/lib/main_space.dart
Expand Up @@ -11,20 +11,17 @@ void main() async {
}

class MyGame extends Game {

ScrollingSprite sprite;
final Size size;

MyGame(this.size) {
sprite = ScrollingSprite(
spritePath: 'space.png',
width: size.width,
height: size.height,

verticalSpeed: 300,

spriteDestWidth: 500,
spriteDestHeight: 500,
spritePath: 'space.png',
width: size.width,
height: size.height,
verticalSpeed: 300,
spriteDestWidth: 500,
spriteDestHeight: 500,
);
}

Expand All @@ -43,4 +40,3 @@ class MyGame extends Game {
@override
Color backgroundColor() => const Color(0xFF3f3f74);
}

23 changes: 12 additions & 11 deletions lib/scrolling_sprite.dart
Expand Up @@ -42,7 +42,8 @@ class ScrollingSprite {
this.horizontalSpeed = 0.0,
this.clipToDimensions = true,
}) {
Sprite.loadSprite(spritePath,
Sprite.loadSprite(
spritePath,
x: spriteX,
y: spriteY,
width: spriteWidth,
Expand All @@ -64,13 +65,15 @@ class ScrollingSprite {
_width = w;
_calculate();
}
get width => _width;

double get width => _width;

set height(double h) {
_height = h;
_calculate();
}
get height => _height;

double get height => _height;

void _calculate() {
_chunks = [];
Expand All @@ -79,14 +82,12 @@ class ScrollingSprite {

for (var y = 0; y < rows; y++) {
for (var x = 0; x < columns; x++) {
_chunks.add(
Rect.fromLTWH(
(x * _spriteWidth),
(y * _spriteHeight),
_spriteWidth,
_spriteHeight
)
);
_chunks.add(Rect.fromLTWH(
x * _spriteWidth,
y * _spriteHeight,
_spriteWidth,
_spriteHeight,
));
}
}
}
Expand Down
7 changes: 1 addition & 6 deletions lib/scrolling_sprite_component.dart
@@ -1,5 +1,4 @@
import 'package:flame/components/component.dart';
import 'package:meta/meta.dart';
import 'dart:ui';

import './scrolling_sprite.dart';
Expand All @@ -9,11 +8,7 @@ class ScrollingSpriteComponent extends Component {
double x;
double y;

ScrollingSpriteComponent({
this.x,
this.y,
this.scrollingSprite
});
ScrollingSpriteComponent({this.x, this.y, this.scrollingSprite});

@override
void update(double dt) {
Expand Down
6 changes: 6 additions & 0 deletions scripts/format.sh
@@ -0,0 +1,6 @@
if [[ $(flutter format -n .) ]]; then
echo "files not formatted"
exit 1
else
exit 0
fi

0 comments on commit 21538ec

Please sign in to comment.